<SEC-DOCUMENT>0001433195-21-000024.txt : 20210301
<SEC-HEADER>0001433195-21-000024.hdr.sgml : 20210301
<ACCEPTANCE-DATETIME>20210301160813
ACCESSION NUMBER:		0001433195-21-000024
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		101
CONFORMED PERIOD OF REPORT:	20201231
FILED AS OF DATE:		20210301
DATE AS OF CHANGE:		20210301

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			APPFOLIO INC
		CENTRAL INDEX KEY:			0001433195
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				260359894
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-37468
		FILM NUMBER:		21697766

	BUSINESS ADDRESS:	
		STREET 1:		50 CASTILIAN DRIVE
		CITY:			GOLETA
		STATE:			CA
		ZIP:			93117
		BUSINESS PHONE:		8053646093

	MAIL ADDRESS:	
		STREET 1:		50 CASTILIAN DRIVE
		CITY:			GOLETA
		STATE:			CA
		ZIP:			93117
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>appf-20201231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2021 Workiva--><!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01,d:5d006e3ae4654626b71b4df4a7b7062a--><html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:appf="http://www.appfolio.com/20201231" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns="http://www.w3.org/1999/xhtml" xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>appf-20201231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY18xLTEtMS0xLTA_490142c9-f261-4b27-9a0e-1fd134a56a47">0001433195</ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY18zLTEtMS0xLTA_ebe3596b-2370-47cd-b1ce-5546ab1e27bd">2020</ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY180LTEtMS0xLTA_a605e808-8aa0-40ef-a95c-2fb38d033c49">FY</ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY181LTEtMS0xLTA_001c0d9f-8419-4975-8c22-4308cc982516">false</ix:nonNumeric><ix:nonNumeric contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" name="us-gaap:AccountingStandardsUpdateExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMC0xLTEtMzUzL3RleHRyZWdpb246ODU2Mzc3ZmZlY2Q3NDRlZWE1YjE5MWFkZDI0Y2FlYzdfMTA5OTUxMTYyNzg1OA_e452efe7-800b-4889-964f-c6adaf181165">us-gaap:AccountingStandardsUpdate201409Member</ix:nonNumeric><ix:nonNumeric contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0">P4Y</ix:nonNumeric><ix:nonNumeric contextRef="ic80291bbc9284c33abd9f2325ed5ec7f_I20201231" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzg_e13e4af0-ccec-4e1a-a2d9-ac59fdda846f">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde">us-gaap:OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199">us-gaap:OtherLiabilitiesCurrent</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="appf-20201231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="i8e1be9b2d93544ec85d1e51b09118311_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="ied1dd92e7f9246c1a45a4070cdcbc58e_I20210215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia6b2b6fa1d72456ba9f14cec344608ab_I20210215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if87112ed58d44be294bd33c5ebbf224d_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i696bcdd341204f7e81923e221017f98a_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie8df2e081bbc447b804c96643bebb2b1_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iff665478529c4a5cbc4d81477e18f1cd_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7914f6f887a9464f88693d0427ccdb78_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i380df49aca51413db24bbf1817db8287_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i498f187c4bf34f47b08c411cddca983c_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib0fb2ee59e454533b485c7404c5ddf95_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if29e6192a513486b813c835f1b67c375_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4fdf7beea5e247d6a2da08d07d68f4d6_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i33fd34f1e8d1430f80df86809474ca2c_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia66de228f69146c68d932a63d592f037_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3a21f7a26f324477a23e1b00e3de6acf_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie78d128f448f42b59f0c10b1987488ab_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4f9a14399d354f778d02a86329cf3648_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iec0a0a7e74c54db6a03735eb3abc8ecc_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6069f181c51a415493981b96f64e2255_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8d5709137fe94ae29243529a3254cedd_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4867c6353b784ddda2975953bb82525f_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5c4d95a6966e422a919bfb5999cbf7fc_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i942745ea801a453f9a257557fb01f52d_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i791194c060134928b768659ecb27b02b_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idc7d4eeeecff419bb9e2bfa4f8aa1a5b_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i02d63145a04b47a48a5a20bb6671ce00_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2ffe2487696b4ef8ae9895d1f3e60e2d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia17898eab0a84e86af4f2838bb075bc8_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1f2fd74e7814953a98976e1522397f3_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2eceb2a67816475f9495f49c45469f2c_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i98e2ea9866cd4d27921474d613e42da0_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3f2bc66ba866450fb4937f02eafd39f7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if4ee326334da492e92b01dc1a3d4ae35_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1fbc00c8aa2048a4b08a253ab945d669_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if51c7056a1e3488ba6078db402a630de_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib90028dcbf22490dbcf8b9384e259871_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i14449d34ed1b478492c96facf4421275_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i18e3341bbce74544a9b308931cf2782f_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7537d46876a24976951eb2e446da87ae_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icc5bc645dca9426a878a741c849c2024_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie8c0c53063e34fd0b5d0a014a3b311a7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic9339f252af746089527f092369d643f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia838a71712074d6a982bc46c2fe29970_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia520f44bc1bd4a69967d96420c544e6b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7b9747939dce47579d55925da13ff57c_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i791ab114ec454d5b90c722c12318b53c_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i25006d5d67bf47229384f8b1670eb090_I20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-30</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>appf:segment</xbrli:measure></xbrli:unit><xbrli:context id="i775737621cf8499caf903c657527ac4f_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id0bed8b25dc44f859958e2715fbff35b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3596c1bc1a4c48b782bc4a165bea69ca_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8247a60257294e31ae341ca5c7084724_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i629deff96d36469d8b91b79f2637153d_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="reportingunit"><xbrli:measure>appf:reportingUnit</xbrli:measure></xbrli:unit><xbrli:context id="i9ef50e190b0446b6b41c5f0c12f3822b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i615de3470d494946b4a5d94b44b0e6ec_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i770e64f46e564319a6c18b27195bb0d8_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i14bdef26eb4144e79975801988ed103a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d3eeb8943cc4fc3a192ffa175deb491_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i84676c5ab81f419796cc34238a67fe65_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5bd52c1973244553a751a761f389ca66_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i05f36af467dd4c4b8764033a297871cb_I20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if18cdb85957749b29afe5d94e2aa5014_I20180101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if48a6e4c69274938817f9b2089caf91b_I20190101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4c7848f33a1048f88ca559d8addb4dd3_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie3749537f4934e1b9c5e97c74cec129c_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9d875afba5694b19b69b6e6b34d4d43a_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if70a6727567142929980877fade17471_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icd2278e6bb104cf2b98610aaafb99846_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i609d9b36182b4d279927c63935b1622a_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3ce17488f92b40949fc9278d4c2f6360_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2bed893afd274119b5f5e1aee82e3a43_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4d0a8d8ecf0841258eb6f60a7f8f23e4_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7d87e35597934392b2904d7e25a9f6c4_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i43099fb76a384b87b43d53efd2a3909c_I20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i00cae34e5d5446ba8e1a2cdd41b544d9_D20190107-20190107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-07</xbrli:startDate><xbrli:endDate>2019-01-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i78b6030868ae4c7d94cfbca83d304d2d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8cf289ac68fb426db15e6292cf385cfb_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i48dbca9878c24d70b873012d65fa2a24_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6f51dcdbd6204647b6c985d4fd00579b_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id7048402d3c548c4966c4b9f13de2380_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0ed5787f541b486d876c274976b0b95f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i71bd0b1d46504994a1f45f2ab19fb143_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic3806ae5e6874059b5c912a6a9c6bcab_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i97ee30ebebd647588addbc170a7a6aa8_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ife7f5317c120436a8faae90027509af7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib271ac0c1622494f948735c657ff48ef_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i402acf436df84b7880c2a4aa61e9d41b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i40b37e9adad448408a57f1b45de0087e_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i954b5d7bfb764e6b8df91e062c4a5f48_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i15ceb52655f34529b9889b41cc7b473f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2f213a81ab22426b81c14619e6dc9e1f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i80b15b5a7f6843a7bd2b6e36ec705928_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3e78b1a19aec4a508dd936613ddc4ce8_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie4314adc8a2740f6b240fa95a1ebae5a_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i724e7781c207431fbf6dd28887c958a4_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1f17e7aa7d024a5e889e2c7a20010173_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6cafb0d2772f4b51801f4683cf68928f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3104d6b8cc81460b886135648ef108ae_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45c535d20de2421f8b8c4c9f3b8f2c75_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8f2082b48c6c4e60ab0d5bc5f521f3ab_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i838feed0e5de4761b737bd296a069623_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6587dce9c8104d439719029c960dcb1f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iac7a88785001472ba7c6196dbced8c27_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i58c8c2559f4c412c9aa777284b499f0f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i205b6d6d5cb64ef38699da52825221e6_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2bffd86069d54bde8c67ec4b9568ee3d_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i24df997cf5d74e7d80367e0bffcf255f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if0e8e8ff65f248088bfcd2ca9b7a0474_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c8a7325a47b41f58b3c52c55e00638f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if89c7407c49046898c2c0c7a05a86f88_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1cca2492bca943899611f7977e24a7bc_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4a05c430240548d7ae1e9439486e2959_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iafa0cc8ceb8744b589dad51320e7b254_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3703ca84213b404bb3cda52c9cd9f86c_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5320fe164a0d41e0868d3ea73cf50da2_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i649b5470b0aa4b94a6b59f25c5c9e8a4_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1610bd2373aa4a68aeadc900f79ca058_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5b021b3f26974876a89fe29b014da4f7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib8e7d2a2f1c7430f8b4578b37edf71d0_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if987bb93d4bf48ff932dd2563732faff_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i515bfbaa190a4882b2eff4a3157c8383_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ida9949b23cc94e42aa55e15986693711_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i85131be12f96492f9e0ebdb0c1cd2b37_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:DataCenterAndComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i406c34a01e874bdbbc4db18c847351c5_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:DataCenterAndComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia8afc8f42fe046c89039eb0f3abde265_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib25e2a8ea9e6467aaeb63e75eb846b63_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia82cae4596f4432a9a60ae063dc10480_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i512e9e91df8644dda8fa5f808dba04f0_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib43ad54ad91c4e21a9e213dcb3b4c221_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i12a91ae5f4854962ba8dddb3d99cf44d_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2f2b6dd4a1024eeb93232927f1fafb3c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic563c8553e5f4977912b94d3467c73a7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4127e588db5841269435404cd726e073_I20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:FurnitureAndFixturesAndLeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i30010c4df2d84ca88b90d5ce364f97ae_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iea76d1d765f54e6d80291c4826ac3a13_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if5d02b7ae4fc48bf8963cb0529762997_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if2948fe13c5c4baf8a273630f7e05c6a_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2f0717644b964c458b04d2ff9f73b68b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie8aadda0e8c746b287950afae233ea5d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i06a3dcc6b8864fe0b010eadbf7e5acde_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c393c835fa44f2da654193a7234825b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i59585b72b31549fbbf496319fdffdc12_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4bfcdf0391e844229cded3519641beec_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifeed99d15f794c749d7b94c1cdceb0ae_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i59322443f64f42fa82a6aeb2d870940d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6fde2b93714b413ba202ab95939db554_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0e78dc2e785542e2a2b5644873e00020_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icf919fe6398845959f7346b359253f90_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if01218679d634590b83a3577557223ad_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6da119b01e514b70934f4ec2f647a9d6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if19d9c1a49cc42d7ba1739dcca8e72a7_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6cbb6f4e7b46444da7ae714fffa8a978_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0112f48ffb094d65a97b721bd990a5ce_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icdc30ee9208d4bcba77baaec164c7c64_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d55b6e934984b12997c41e9c938cdf5_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iea177e156ebb487b806bf89240e7c8b8_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9045cb2e5d9847a59f9b41c0f9886808_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i42432e1e809641fe877687b20e2b8dbb_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2b0d072d42704847b75ee4249d034bf7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9f56c3879ed84f02b3caba13708ebcd6_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i13466a2dc6e748de9f0fb9f156621b59_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3924e18efe364cd2ace1a364a5089f6e_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9834e517f7204327a69ab87c22c7956b_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3314efe5584b45daa6d6bf3a9252e50f_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i42c39ba5a870471c851f5256fd74a2a5_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i91c2d3baf0334c13b2c95f446e16f20c_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i941de9c5c70a4aaa8a5f02dbaee7bf38_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic80291bbc9284c33abd9f2325ed5ec7f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8c44c9d704f94577a58842cd80552570_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1839549352ce40bb80d59575701cc727_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="sqft"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit><xbrli:context id="iaf40a4a4574a4692a96d0a3775c9bce2_D20201217-20201217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:RichardsonTexasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-17</xbrli:startDate><xbrli:endDate>2020-12-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib579298b6d534de4a508f67a6eb46121_I20201217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:RichardsonTexasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i97955c9d90b447298886c0809dad35fe_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3d2a314ee2504faf9675a444488e13dc_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if25f5735de8b496f8a8d99c6e8d45323_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i826b214e658d46a79510bbd20e137e62_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1e858f386e8440168941459a4818d4b1_D20181224-20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-24</xbrli:startDate><xbrli:endDate>2018-12-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia5623b515ce04b94a632d2c12bfbd351_I20200929"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1f47cdaf3a8945fe95c94b53adcfd508_I20200929"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2713f3c7fb3a48aa9a42d605d7028a69_I20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia63bf3ccdce24413b417a81518b6bd6a_I20181224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifa0ef33b66ab45b2be95c13e1a816073_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7bdd49104c9a4939829127a288b50cd3_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i829c8c644d9041498e5e6b8e3b91f03a_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i46fb2a43bf58405182bde6aa9232f5fa_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i617566f47284443e9deae70759318fe3_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i757d8937ab924ece9470646b55114888_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ida24abba03d94978821a3af5af849f29_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i45088498d4d54152a858c260f003d2c1_I20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6bcd27dfaced473d9f8ce876ed96f27c_D20210101-20210131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic77deb8838064aa4b4d2582a554d5094_I20150625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2015-06-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i486b50d6796e458787aeee05fb98d767_I20150625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-06-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i06d1dcad0b414943bd97379ecab92675_I20150625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-06-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie9581f6f547543d2a095259cacc478e1_I20150625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-06-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="vote"><xbrli:measure>appf:vote</xbrli:measure></xbrli:unit><xbrli:context id="iccdd68156c904b7b8b969730c9de8556_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3505cdf241aa4a2c8081f6d9f7a4c764_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConversionOfStockByUniqueDescriptionAxis">appf:CommonClassBToCommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i86d127b091904d9fba57f908929b83a8_I20190220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-02-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="director"><xbrli:measure>appf:director</xbrli:measure></xbrli:unit><xbrli:context id="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3ad85cad9ecc44e0a7d7902695ac893b_I20151231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8a3bcdd9b57444c5a51e029d3423b314_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i99819e9e20e74b18823f1ff272f2c656_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1b2e06d0b70d42e9bb04a8e372756b02_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id458400680174ae3a9d186337b40caf5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iccbf8db6b3764aae825f3fe2535d2c10_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id1b662444b08435dbe2208bd233d411a_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i26426ceddf214a1ea5914e18c010cc38_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:EmployeeStockOptionsAndPerformanceStockOptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4fd6f08a9bb84b028249c0fdce83d8bb_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a75de892bd14090845814ed9650eb72_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:EmployeeStockOptionsAndPerformanceStockOptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i950a2961c7164c988b3443285bc84af6_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4bb3339d6c794033b847eb68961c8967_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id4243e69cf1948019aae6107533fa3cc_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibf5c2c756ac0462282be61345828597f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0bcca23ab6324e1983320926fcd91402_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id6e5225ba00e4ca9b59edf699af0b36b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7f02992a4d704a7ea6286f30ad53e8f9_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3cd044a5772d4b08a888332b9e2800e0_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i073aee93ba424d17a2d7685bcc354bdd_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iafd019a04c294eb9b38b19f3a4b4e49f_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2016PerformanceMetricMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7135702889054051b650f307ee947896_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i230571d2508e457e8827faf8a862be19_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie9950d2e74804d0ca847c54c886bed89_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5b9a767206d24226b594e699c010c7dd_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibf610a2cad524f9aae9a0350522654f5_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i75b755e3278244d7a45ede24ced94bb7_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i097807896b5441218874897d2974c0ea_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i815f844a27394208bed6e807911fba9d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i091b6e47073340c4a614455889151648_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i33ced037467841c095de718193b884c7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4be262ef22eb49f0b6bae988c591d0eb_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iea0b999a93144a26abf77107d3808e2b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f352c5f20f94c8aa56aae90523e9892_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie0151233bc0447fa88f5fa2684960e5a_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i35c4418faaa14a79b23a2cd2c7b2b434_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i23d98b4f05bb4bca84eb98f630a8addd_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib7ee5461abdf4bedbe15c2460cf8b782_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifeb3fb87ab7a4cd1941bfb8991467ea9_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if0c6336a8b284bd7b3c58ea15b32829c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifbb35241961348a7906632a948d86917_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i01390a6a12cd445db158cda4169a39a6_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i49f21b866a974cb5af0d88082667c437_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i155f8f7267774e7b8044097d9d108b30_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id161bac78060432b9f1bbad8354f0fb4_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3f25746ecdf4470094faade647b145f8_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia3851c5bdd1e4f21ac815c345ef884a4_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6ab43607928b4eb6bcf22addd709f5ed_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f3b18600ba9494fa92c6810bc520195_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i85640fb3a94a495c8f1c47eee8c9965e_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8254a32400ed4a55a4959493198ce754_D20180101-20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001433195</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_1"></div><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div><span><br/></span></div><div style="margin-bottom:2pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">WASHINGTON, D.C. 20549</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">_________________</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">FORM&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAz_0edff0a5-867d-43e3-aa4d-af591a29b3f6">10-K</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">_________________</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleantrue" name="dei:DocumentAnnualReport" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk3_a8db5c6f-3b1b-41f7-a7e7-c4d2bf78667f">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">ANNUAL REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934 </span></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the fiscal year ended <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yNDU_d81c1ca3-e96c-41df-8a1e-2f10bed99354"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:datemonthdayen" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yNDU_afd6710e-041e-4c6e-991b-571ba0157d68">December 31</ix:nonNumeric>, 2020</ix:nonNumeric> </span></div><div><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleanfalse" name="dei:DocumentTransitionReport" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzA0_92385d46-365a-47cf-a1a2-75bbdcbc650e">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934 </span></div><div><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the transition period from </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"> to </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"> </span></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Commission File Number <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk4_fd12674b-551c-48ef-9b1a-0b331e34f6a1">001-37468</ix:nonNumeric> </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">_________________</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzA1_ad706d9e-c82e-44cb-bd07-f782d85f2a79">AppFolio, Inc.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(Exact name of registrant as specified in its charter)</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">_________________</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:25.517%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:23.164%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.549%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8wLTAtMS0xLTA_db335a80-61fb-4dcd-9db4-e6c72bbe52a2">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8wLTQtMS0xLTA_e1b6af94-3632-4966-8ee4-061f3f63d7d5">26-0359894</ix:nonNumeric></span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">(State of incorporation or organization)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">(I.R.S. Employer Identification No.)</span></td></tr><tr style="height:12pt"><td colspan="15" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8zLTAtMS0xLTA_f74ee5c5-a092-4df8-bb7f-9dd7d1c247c7">50 Castilian Drive</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;&#160;&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTAtMS0xLTA_1b7b1c05-e0db-4036-af3a-78c4dfaf66ab">Santa Barbara,</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTItMS0xLTA_ecaa15d1-eb22-45e0-b88c-4c7837583877">California</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTQtMS0xLTA_8b8a5e20-17e8-4af3-ad9b-23378c28f767">93117</ix:nonNumeric></span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">(Address of principal executive offices)    </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="margin-top:6pt;text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAw_d067e456-c041-40ce-8789-7cc60907881f">805</ix:nonNumeric>) <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk5_ca8964ac-913e-44e3-bdd9-bfd443533060">364-6093</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">Registrant&#8217;s telephone number, including area code</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Securities registered pursuant to Section&#160;12(b)&#160;of the Exchange Act: </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:40.859%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.992%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.992%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.768%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Title of each class</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Trading Symbol(s)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Name of exchange on which registered</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTAtMS0xLTA_443064fe-3c38-40e4-97fd-a58aae19d2de">Class A common stock, par value $0.0001 per share</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTItMS0xLTA_37d3f937-93b4-4f28-8eb2-642488d672dd">APPF</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTQtMS0xLTA_13a5c1a1-0803-44cb-a54c-b0d90cde0fa2">The NASDAQ Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div><span><br/></span></div><div style="margin-bottom:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Securities registered pursuant to Section&#160;12(g)&#160;of the Exchange Act: </span></div><div style="margin-bottom:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">None </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">_________________</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:4.4pt;margin-top:6.6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityWellKnownSeasonedIssuer" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAx_13255fe2-af2f-457e-9bfa-b8a1a6ec2a30">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">  No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:6.6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes&#160; </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityVoluntaryFilers" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk0_5e3620c5-b704-4b42-b833-3c35c2c104cf">No</ix:nonNumeric></span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span></div><div style="margin-top:6.6pt;text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports) and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAy_53e31a86-b1a9-418f-8c36-f8b521cd5029">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk1_d5e4b3b5-e067-4fe4-aa74-02bc00e3c80d">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer&#8221; &#8220;smaller reporting company,&#8221; and "emerging growth company" in Rule 12b-2 of the Exchange Act. (Check one):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:18.929%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.577%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.577%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.730%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF8wLTAtMS0xLTA_7f2d2823-fc5a-4e66-a2c1-dce4c6c34e0d">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleanfalse" name="dei:EntitySmallBusiness" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF8yLTUtMS0xLTA_bb317f89-8ac4-484f-976f-20aee292b7f5">&#9744;</ix:nonNumeric></span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF80LTUtMS0xLTA_92ca4f79-ab4b-4591-99c8-999bde155a5a">&#9744;</ix:nonNumeric></span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has filed a report on and attestation to its management's assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleantrue" name="dei:IcfrAuditorAttestationFlag" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl82NTk3MDY5NzcxNzM3_e485d4eb-fcad-4632-a24a-49cf63957793">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt:booleanfalse" name="dei:EntityShellCompany" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk2_1edbba23-7697-431f-bd06-9fda06243610">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> </span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">The aggregate market value of the voting and non-voting common equity held by non-affiliates of the registrant, based on the closing price of the registrant&#8217;s Class&#160;A common stock on June 30, 2020 (the last business day of the registrant&#8217;s mostly recently completed second fiscal quarter), as reported on the NASDAQ Global Market on such date, was approximately $<ix:nonFraction unitRef="usd" contextRef="i8e1be9b2d93544ec85d1e51b09118311_I20200630" decimals="-6" format="ixt:numdotdecimal" name="dei:EntityPublicFloat" scale="9" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yODY0_4f863c91-13b0-4153-9210-123ff9935a0f">2.870</ix:nonFraction> billion. Shares of the registrant&#8217;s Class&#160;A common stock and Class B common stock held by each executive officer, director and holder of 10% or more of the registrant&#8217;s outstanding Class&#160;A common stock and Class B common stock have been excluded from this calculation as such persons may be deemed to be affiliates. The determination of affiliate status for this purpose does not reflect a determination that any of such persons shall be deemed to be an affiliate of the registrant for any other purpose. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">At February&#160;15, 2021, the number of shares of the registrant&#8217;s Class A common stock outstanding was <ix:nonFraction unitRef="shares" contextRef="ied1dd92e7f9246c1a45a4070cdcbc58e_I20210215" decimals="INF" format="ixt:numdotdecimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8zNDUx_23449625-adb3-49da-94db-e81647714abf">18,747,460</ix:nonFraction> and the number of shares of the registrant&#8217;s Class B common stock outstanding was <ix:nonFraction unitRef="shares" contextRef="ia6b2b6fa1d72456ba9f14cec344608ab_I20210215" decimals="INF" format="ixt:numdotdecimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8zNTM2_a545a2b9-86e5-4117-9d00-23cab83960f4">15,650,311</ix:nonFraction>.</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl82NTk3MDY5NzcxNzUz_62d520e1-5448-49f1-93c9-5f513e7930a0" escape="true">Portions of the registrant&#8217;s definitive Proxy Statement for the 2021 Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;), to be filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) pursuant to Regulation 14A not later than 120 days after the end of the fiscal year covered by this Annual Report on Form&#160;10-K (this &#8220;Annual Report&#8221;), are incorporated by reference in Part&#160;III, Items 10-14 of this Annual Report. Except for the portions of the Proxy Statement specifically incorporated by reference in this Annual Report, the Proxy Statement shall not be deemed to be filed as part hereof.</ix:nonNumeric></span></div><div style="margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:4pt;font-weight:400;line-height:120%">________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________&#160;</span></div><div style="margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:4pt;font-weight:400;line-height:120%">________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________&#160;</span></div><div style="margin-top:8pt;text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:4pt;font-weight:400;line-height:120%">&#160;</span></div><div><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ANNUAL REPORT ON FORM 10-K</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE FISCAL YEAR ENDED DECEMBER&#160;31, 2020 </span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:14.589%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:72.946%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.119%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.846%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Section</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Page No.</span></td></tr><tr><td colspan="6" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_10">Cautionary Note Regarding Forward-Looking Statements</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_10">1</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_13">Part I</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 1. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_13">Business</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_13">2</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 1A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_16">Risk Factors</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_16">11</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 1B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_19">Unresolved Staff Comments</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_19">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 2.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_22">Properties</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_22">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 3. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_25">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_25">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 4.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_1677">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_1677">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_31">Part II</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 5.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-right:36pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_31">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_31">26</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 6.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_34">Selected Financial Data</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_34">27</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 7. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_37">Management's Discussion Analysis of Financial Condition and Results of Operation</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_37">29</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 7A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_64">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_64">44</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 8.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_67">Financial Statements and Supplementary Data</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_67">44</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 9. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_163">Changes in and Disagreements With Accountants on Accounting and Financial Disclosures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_163">79</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 9A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_166">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_166">80</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_172">Part III</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 10. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_175">Directors, Executive Officers and Corporate Governance</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_175">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 11.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_178">Executive Compensation</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_178">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 12. </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_181">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_181">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 13.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_184">Certain Relationships and Related Transactions, and Director Independence</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_184">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 14.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_187">Principal Accounting Fees and Services</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_187">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_190">Part IV</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 15.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_193">Exhibits and Financial Statement Schedules</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_193">81</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_199">Signatures</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_199">84</a></span></div></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160; </span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This Annual Report on Form 10-K (this "Annual Report") for the fiscal year ended December&#160;31, 2020 (fiscal 2020), includes &#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933, as amended (the "Securities Act"), and Section 21E of the Securities Exchange Act of 1934, as amended (the "Exchange Act"), which statements are subject to considerable risks and uncertainties. These forward-looking statements are intended to qualify for the safe harbor from liability established by the Private Securities Litigation Reform Act of 1995. Forward-looking statements include all statements that are not statements of historical facts and can be identified by words such as &#8220;anticipates,&#8221; &#8220;believes,&#8221; &#8220;could,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221; &#8220;intends,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;potential,&#8221; &#8220;predicts, &#8220;projects,&#8221; &#8220;seeks,&#8221; &#8220;should,&#8221; &#8220;will,&#8221; &#8220;would&#8221; or similar expressions and the negatives of those expressions. Forward-looking statements also include the assumptions underlying or relating to such statements. In particular, forward looking statements contained in this Annual Report relate to, among other things:</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">our future or assumed financial condition, results of operations and liquidity;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">business forecasts and plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">trends affecting our business and industry, and the economy as a whole; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">capital needs and financing plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">capital resource allocation plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">share repurchase plans; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">research and product development plans;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">future products and Value+ services;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">growth in the size of our business and number of customers;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">strategic plans and objectives;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the impact of acquisitions, investments and divestitures;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">changes in the competitive environment;</span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">commitments and contingencies, including with respect to the outcome of legal proceedings or regulatory matters; </span></div><div style="margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the application of accounting guidance, including the impact from adoption of recent accounting pronouncements; and </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:63pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.46pt">the impacts of, and our response to, the novel coronavirus ("COVID-19") pandemic. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The foregoing list may not include all of the forward-looking statements made in this Annual Report.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our forward-looking statements are based on our management&#8217;s current beliefs, assumptions and expectations about future events and trends, which affect or may affect our business, strategy, operations or financial performance. Although we believe these forward-looking statements are based upon reasonable assumptions, they are subject to numerous known and unknown risks and uncertainties and are made in light of information currently available to us. Our actual financial condition and results could differ materially from those expressed or implied by these forward-looking statements as a result of various factors, including those set forth below under the caption &#8220;Risk Factors&#8221; in Part I, Item 1A and &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; in Part II, Item 7, and elsewhere in this Annual Report, as well as in the other reports we file with the Securities and Exchange Commission (the "SEC"). </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, we operate in an evolving environment. New risks and uncertainties emerge from time to time and it is not possible for our management to predict all risks and uncertainties, nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual future results to be materially different from those expressed or implied by any forward-looking statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forward-looking statements speak only as of the date they were made, and, except to the extent required by law or the rules of the NASDAQ Global Market, we undertake no obligation to update or review any forward-looking statement because of new information, future events or other factors.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We qualify all of our forward-looking statements by these cautionary statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_13"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I</span></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="padding-left:49.5pt;text-indent:-49.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1. &#160;&#160;&#160;&#160;BUSINESS</span></div><div style="margin-top:15pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Unless otherwise stated in this Annual Report, references to "AppFolio," "we," "us," and "our" refer to AppFolio, Inc. and its consolidated subsidiaries.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AppFolio provides innovative software, services and data analytics to the real estate industry. Our industry-specific, cloud-based solutions are used primarily by property managers, and also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and their business ecosystems and a system of intelligence designed to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018, our revenue was $310.1 million, $256.0 million and $190.1 million, respectively, of which $284.7&#160;million, $231.1&#160;million and $172.4&#160;million, respectively, were derived from our software services and data analytics offered to the real estate vertical. See Item 7, "Management's Discussion and Analysis of Financial Condition and Results of Operations" of this Annual Report, within the section entitled "Quarterly Results of Operations" for additional details regarding seasonality of revenue.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During certain periods covered by this Annual Report, we also provided software solutions and services to the legal vertical. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020. For additional details, see Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Divestitures and Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements in this Annual Report. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">The Challenges We Address</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that many companies face a common set of challenges that divert limited time and resources away from serving their customers and growing their businesses. Significant administrative burdens from inefficient manual processes and the use of disparate technologies or loosely integrated solutions only exacerbate those challenges. This is particularly evident in businesses that involve unique workflows, relationships among multiple users, significant data inputs and management, and compliance or regulatory requirements. Our platform is designed to provide our customers an intuitive, reliable and integrated solution that brings innovative technology and services to their specific workflows, meets their key operational requirements and enables delivery of exceptional customer experiences. We rely on partners and third party service providers to deliver certain aspects of our solutions, and we strive to provide a seamlessly integrated experience for our customers. We believe our customer-centric culture fosters a focus on customer satisfaction which leads to long-term customer retention and our long-term success. We believe our solutions and services offer customers the ability to capitalize on the power of fully integrated business management software to interact with their business ecosystems, and to mine the data and insights gleaned from these relationships, which is integral to our customers' ability to grow their businesses and compete effectively.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Growth Strategy</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our growth strategy is to provide increasingly valuable industry-specific business management software, services and data analytics to new and existing customers and their business ecosystems. We believe our customer-centric culture and market validation techniques that direct our product strategy are key to our success. Key components of our growth strategy include:</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Maintain Product and Technology Leadership</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We have made, and will continue to make, significant investments in research and new product development to expand our platform capabilities as we deem appropriate in our target markets. We intend to continue using our market validation techniques and close relationships with our customers and users as a key source of feedback to inform and direct our product strategy. We may also choose to acquire rather than build certain technology capabilities, or to partner with third parties to deliver key functionality to serve the needs of our customers and their business ecosystems. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Keep Our Existing Customers and Users Happy.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We believe customer success is essential to our long-term success. We place significant emphasis on customer service, which we believe leads to long-term customer relationships, to differentiate our software, services and data analytics from competing products. This emphasis will continue to be a critical component of our growth strategy in the future. We believe that maintaining our focus on customer success will lead to new product innovation, the referral of new customers from existing satisfied customers, and greater adoption and utilization of our solutions and services.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquire New Customers.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We believe new customer acquisition is essential to our long-term success. We expect to continue to grow our base of customers with our investments in the development of increasingly valuable business management capabilities for our target markets, sales and marketing programs, including evolving industry thought leadership and education, and the referral power of satisfied customers.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Expand Adoption and Use By Existing Customers.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We have made, and will continue to make, significant investments in our solutions and services that expand functionality and enhance or add new capabilities to meet the current and evolving needs of our customers. We expect our satisfied customers will expand their usage of our Value+ services to adapt our platform to their specific operational requirements. In addition, as our customers grow, we expect they will continue to use our solutions and services to manage their larger businesses. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Enter New Adjacent Markets.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We expect to continue to evaluate and expand into adjacent markets based on our market validation strategy and targeted customer feedback in a manner consistent with our strategic plan. We believe that, while we are continuously developing our solutions and services within one market, we can apply certain relevant product enhancements and key learnings from that market as we extend our solutions and services into successive adjacent markets. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Expand into New Verticals.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We expect to continue to review potential opportunities to expand into additional vertical markets in a manner consistent with our strategic plan. We believe our expansion into and success from adjacent markets may present opportunities to enter new verticals. Any new vertical must also fit within our overall business strategy, including our management team's assessment of available alternatives, such as the number and size of potential adjacent market opportunities, and the relative risk and return of these opportunities. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The growth strategy that our management and board of directors have developed reflects our customer-centric and long-term growth view of our business, rather than the realization of short-term financial or business metrics, or short-term value. If opportunities arise that might cause us to sacrifice our performance with respect to short-term financial or business metrics, but that we believe are in the best interests of our stockholders in the long term, we will take those opportunities. The technology surrounding our business management solutions and services is constantly evolving, and our growth strategy is thus subject to a variety of risks and uncertainties. Please refer to Item 1A., "Risk Factors", for a more complete discussion of these and other risk-related issues.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Human Capital</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe our people are at the heart of our success and our customers&#8217; success. We endeavor to not only attract and retain talented employees, but also to provide a challenging and rewarding environment to motivate and develop our valuable human capital. We look to our talented employees to lead and foster various initiatives that support our company culture including those related to diversity, equity and inclusion. In addition, we rely heavily on our talented team to execute our growth plans and achieve our long-term strategic objectives. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our company culture, driven by a dedication to the following six core values, provides us with a competitive advantage: </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Simpler Is Better </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Great, Innovative Products Are Key To A Great Business </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Great People Make A Great Company </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Listening To Customers Is In Our DNA </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Small, Focused Teams Keep Us Agile</span></div><div style="margin-bottom:6pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We Do The Right Thing; It&#8217;s Good For Business </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we had 1,335 full-time employees and also routinely engage temporary employees and consultants. We consider our relationship with our employees and consultants to be strong. None of our employees are represented by a labor union or covered by a collective bargaining agreement. We must continue to attract and retain highly qualified and motivated personnel across our organization to execute our growth plan and achieve our strategic objectives. If we fail to do so, our business and operating results may suffer. Please refer to Item 1A., "Risk Factors", for a more complete discussion of these and other related risks.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Compensation and Benefits</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide competitive compensation and benefits for our employees. Our compensation packages may include base salary, commission or annual performance-based bonuses, and stock-based compensation. We also offer general employee medical, dental, and vision insurance, health savings and flexible spending accounts, mental health resources, paid time off, paid family leave, life and disability insurance, and 401(k) plan matching contributions. These programs and our overall compensation packages seek to attract and retain talented employees. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Health, Safety and Wellness</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We take the health and welfare of our employees very seriously, and have encouraged safe practices designed to stem the infection and spread of COVID-19 within our workforce and beyond and to maintain the mental health and well-being of our employees. Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we restricted non-essential employee travel and transitioned our employees to a remote work environment. We currently expect the majority of our employees will continue working remotely at least through the second quarter of 2021. We are committed to our employees returning to the workplace in the long-term, and have recently constructed a new office space in Santa Barbara, California, extended the lease for our office in Richardson, Texas and are seeking new office space to lease in San Diego, California to accommodate our employees' return to the workplace in the future.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Workplace Awards</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">By attracting and retaining a team of people who are inspired by these values, focusing on building an outstanding culture, and offering opportunities for professional and personal growth, AppFolio has been recognized as a 2020 Best Place to Work and Highest Rated Company for Work-Life Balance During COVID-19 by Glassdoor, a 2020 Best Workplace for Women by Fortune, and a 2020 Best Workplace for Parents by Great Place to Work.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Property Management Market </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2008, we introduced AppFolio Property Manager ("APM"), a property management solution designed to address the unique operational and business requirements of property management companies and their business ecosystems. Recognizing that our customers and their business ecosystems would benefit from additional business critical services, we launched a series of Value+ services beginning in 2009. Our Value+ services are tailored to the specific workflows of property management businesses and generally fall into the categories of marketing and leasing, electronic payment services, business optimization and risk mitigation. In 2018, we introduced AppFolio Property Manager PLUS, ("APM PLUS"), a tier of APM designed for larger businesses with more complex needs. APM PLUS builds upon the functionality of APM and additionally offers data analytics, configurable workflows, and revenue management and optimization functionality for our customers.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">APM and APM PLUS serve our property management customers, including third-party property managers and owner operators, who typically manage single- and multi-family residential, and others who manage community association, and commercial properties. Our solutions and services also serve other constituencies in the property management market, including property owners, rental prospects, tenants and service providers. </span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Property Management Solutions </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AppFolio Property Manager - Core Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Core functionality addresses key operational issues, including accounting and business analytics and management, marketing and leasing functionality, and communications with key stakeholders. APM PLUS builds upon the functionality of APM and additionally offers data analytics, configurable workflows, and revenue management and optimization functionality for our larger and more complex property management customers.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AppFolio Property Manager - Value+ Services</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Value+ services build on functionality and workflows in our core solutions and generally fall into the categories of marketing and leasing, electronic payment services, business optimization and risk mitigation. Although many of our Value+ services are enabled by third party partners, we prioritize a seamless experience for our customers and users which increases their efficiency and ease of use of APM and APM PLUS. Utilization and adoption of our Value+ services is typically higher for residential properties than community association or commercial properties because of the unique and complex needs of the residential rental lifecycle. We have generally organized our Value+ services below in the manner in which they are experienced throughout the rental lifecycle.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We deliver and maintain professionally designed and architected </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Websites</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> that showcase our customers&#8217; businesses. Our websites are fully integrated with our property manager functionality, including vacancy postings, electronic payment services, owner portals, tenant portals and maintenance requests. Property managers can track and analyze site traffic and lead generation by evaluating completed guest cards from rental prospects who visit the websites in connection with posted vacancies. Features include search engine optimized content, integrations with leading 3D tour providers, professional photography sourcing, and logo creation. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Premium Leads</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> functionality allow customers to upgrade property listings to premium status and syndicate them to dozens of pay-to-list websites, including featured placement on many sites. Customers also receive advance call tracking and pay only for the verified leads they receive through the Value+ service.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Artificial Intelligence Leasing Assistant </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">works 24/7 as part of a customers' leasing team to provide tailored text message or email responses to rental prospects in real-time, and leverages integrated reporting to track leasing performance with accurate data to drive increased occupancy rates and operational efficiency.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Tenant Screening Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> include background screening, credit checks, and income verification for use in connection with the rental application process. In addition to obtaining an applicant's credit history, property managers have the option of leveraging an automated nationwide eviction and criminal records search, as well as accessing and/or contributing to rental payments history data, to better identify qualified tenants and reduce risk.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our accounting features include </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Electronic Payment Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> that allow property managers to streamline their payables and receivables through a variety of online payment options. Customers can collect funds through a secure online portal, mobile application and via electronic cash payments from various users, including: rental application fees, security deposits, rent payments and other tenant charges; contributions from property owners; and periodic dues from those living in community associations. Customers can also electronically send funds to various users, including: distributions to property owners; payments to service providers; and payment to their own management company. Customers can also use our automated accounts payable solution to automate their accounts payable and expense recording process with smart bill entry, powered in part by artificial intelligence technology. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through partnerships and wholly-owned subsidiaries, we make available two insurance options, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liability to Landlord Insurance </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> Renters Insurance</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, that can be tailored to help property managers protect their properties and meet renters&#8217; needs. Property managers can instantly enroll residents in liability to landlord insurance, which offers owners and investors increased protection against tenant-caused damage. Renters have the option of purchasing renters insurance through an online portal to protect their personal belongings, as well as the property itself, from certain unexpected damages.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Utility Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> functionality, our customers are able to automate utility bill processing and resident billing, and manage utility-related operating and capital expenditures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Maintenance Contact Center</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> functionality is built into our customers maintenance workflow and is staffed 24/7/365 by trained agents, each acting as an extension of our property management customers&#8217; teams to resolve or route incoming maintenance requests. Contact center agents are able to enter non-emergency work orders directly into APM&#8217;s property maintenance software for a property manager&#8217;s approval, and to dispatch vendors immediately in case of an emergency.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Tenant Debt Collections</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> functionality, our customers can electronically send past due tenant debt from their APM database to a national fully-licensed third party debt collection agency to attempt to recover uncollected revenue. This Value+ service also includes reporting unpaid balances to three major credit bureaus.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Mailing Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> functionality, our customers with community association units can streamline the mailing of required home owner association documentation. </span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Investment Management Market</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In April 2019, we launched AppFolio Investment Management, which is designed to enable real estate investment managers to better manage their investor relationships by increasing transparency and streamlining certain business processes.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AppFolio Investment Management - Core Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AppFolio Investment Management is a cloud-based software solution for real estate investment managers of various sizes that provides innovative tools and services designed to streamline their real estate investment management businesses. Core functionality addresses key operational issues, including management of investor relationships by increasing transparency and streamlining communications with key stakeholders. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AppFolio Investment Management - Value+ Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We deliver and maintain professionally designed and architected </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Websites</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> tailored to fit our customers&#8217; businesses. Investment managers can track and analyze site traffic and lead generation. Features include search engine optimized content and logo creation.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Regulatory Environment</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software, services, and data analytics are subject to certain legal, regulatory and other requirements. These laws are complex and evolving. Various U.S. federal and state laws govern many of our business activities, including, without limitation, the processing of payments, tenant screening, the sale and solicitation of insurance, and handling of consumer information. Despite our significant efforts to comply with all applicable requirements, there can be no guarantee that our efforts will be sufficient or that existing laws, rules or other requirements will not be interpreted, revised, augmented or rewritten in a way that adversely affects our regulated business activities, which comprise a significant majority of our overall business. Please refer to Item 1A., "Risk Factors", for a more complete discussion of these and other risk-related issues.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Customers </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe our customer-centric culture fosters a focus on customer satisfaction which leads to long-term customer retention and our long-term success. We define customers as those paying for a subscription to our core solutions. Our solutions and services are primarily used by our customers, and also by numerous other constituencies in the business ecosystems we serve. In the property management market, these other constituencies include property owners, rental prospects, tenants, and service providers. We generate a portion of our revenue from these users. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2020, we had 15,724 property management customers. No individual customer represented 10% or more of our total revenue for fiscal 2020. </span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Sales and Marketing</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We leverage a modern and scalable marketing approach along with marketing automation technology to attract and engage prospects, build brand recognition and our reputation as an industry leader. We participate in and drive industry thought leadership and education with both online and offline activities, and we use a variety of inbound and outbound marketing techniques to promote our business software solutions, services and data analytics. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business development team acts in partnership with our marketing and sales teams to reach potential customers, generate sales opportunities and accelerate the time from evaluation to close. Our sales representatives assist prospective customers as they evaluate our software solutions. Our interactive sales methodology allows our sales team to quickly build relationships, assess our customers&#8217; business challenges, and demonstrate the benefits of our core functionality and, where applicable, Value+ services. Throughout the customer relationship, we continue to promote adoption and usage of our Value+ services by customers and users through a variety of channels, including email, webinars, training, sales outreach and from within our software solution via in-app messaging. As we serve larger and more complex real estate customers, we have invested in additional headcount to manage and grow these customer relationships over time.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Customer Service</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe our success is tied to long-term customer relationships, not a one-time sale. We pride ourselves on being customer-centric and strive to educate our customers on the solutions and services capabilities they can use to improve business efficiency and productivity. Our solutions are designed to be easy to use and manage, and we offer training and support at no extra charge.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our dedicated onboarding team works to ensure that customers are prepared to run their businesses on our platform and provide a seamless onboarding experience. As a result of our assistance with data migration matters, we are able to provide valuable insights into data integrity and work with our customers to help resolve any issues in their underlying business processes. We also assist our customers with the configuration of our software solutions for particular property types or investment structures as appropriate. We share insights on best practices for the markets we serve and dedicate resources to guide our customers through the adoption and utilization of our Value+ services.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Technology and Operations</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software solutions are powered by a highly scalable computing platform, and are designed with a strong focus on data security and availability. We use Ruby-on-Rails as our primary web application framework, and we take great care to keep this application framework and the rest of our software stack current in order to mitigate known security vulnerabilities. Our computing platform and cloud infrastructure are primarily powered by Amazon Web Service&#8217; Elastic Compute Cloud (EC2) platform. In order to ensure that data is not lost and that customer requests can be satisfied, production assets are securely replicated and regularly backed up to multiple geographic regions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operators monitor our production infrastructure to ensure high performance and availability, and our architecture allows our operators significant flexibility in achieving these goals. In particular, our operators have fine-grained control over the specific server and region on which each customer's data resides, and can move customer data between different geographic regions in order to avoid service disruption or to increase service performance.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sensitive customer data, including passwords, Social Security, and tax identification numbers, is encrypted during transmission, and before being written to disk. We regularly evaluate our product and infrastructure security, including through third-party penetration testing. In addition, our software solutions allow our customers to define roles that provide different levels of access to users, allowing them to view and modify specific items depending on their role. Supervisors can distribute work to on-site staff in a secure and controlled environment, while leadership retains visibility across the entire system. Some sensitive customer actions require secondary verification via two-factor authentication, and any customer can enable two-factor authentication for logging into their account. Notwithstanding the foregoing, there can be no assurance that the significant data security measures we employ will prevent malicious or unauthorized access to our systems and information. Please refer to Item 1A., "Risk Factors", for a more complete discussion of these and other risk-related issues.</span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Research and Product Development</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely heavily on input from our customers and prospective customers in developing products that meet their needs and in anticipating developments in their businesses. Our product management team leads our research and market validation efforts and provides guidance to management and our engineering team based on our collective domain expertise and in-depth knowledge and understanding of our customers. As a result, our product management team engages regularly with customers, partners, and other industry participants, as well as our customer service and sales and marketing organizations. Our product team manages our development projects generally and serves to align separate functions within the company with a single strategic vision. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We entrust product design, development and testing to our engineering and product teams, who coordinate closely to launch new capabilities and services. Our engineers work in small teams generally aligned with specific customer segments or product capabilities to foster agility and continued innovation in responding to the evolving needs of our customers. We leverage a collaborative, team-based and test-driven approach to engineering in order to release new capabilities frequently. We believe that it is easier for our customers to adjust to continuous updates to our platform, which incrementally change and improve their user experience, than it is to adapt to infrequent, but more drastic upgrades. The software industry in general is characterized by rapid technological advances, changing industry standards, evolving customer requirements and intense competition, and we cannot be certain that our research and product development strategies will be successful in every market we seek to serve. Please refer to Item 1A., "Risk Factors", for a more complete discussion of these and other risk-related issues.</span></div><div style="margin-bottom:6pt;margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The overall market for business management software is global, highly competitive and continually evolving to respond to changes in technology, operational requirements, and ever-changing laws and regulations. We believe our competitors primarily fall into the following categories: </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">On-premise or cloud-based vertical market business management software providers that serve companies of all sizes in our markets; and</span></div><div style="margin-bottom:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">On-premise or cloud-based horizontal business management software providers that offer broad solutions across multiple verticals. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also experience competition from numerous cloud-based solutions providers that focus almost exclusively on one or more point solutions. For example, in the real estate vertical, we compete with payment solutions providers, listing services, tenant screening applications and specialists in lease forms. Continued consolidation among cloud-based solution providers could significantly increase competition. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe the principal competitive factors include the following: </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">breadth and depth of functionality in software solutions and applications; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">brand awareness and reputation; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ease of deployment and use of software solutions and applications; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">level of customer satisfaction; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">data security and availability; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">nature and extent of mobile interface; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">size of customer base and level of user adoption and usage; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">total cost of ownership; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to innovate and respond to customer needs rapidly; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">domain expertise; and </span></div><div style="margin-bottom:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to leverage a common technology platform and business strategy. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that we compete favorably on the factors described above. However, some of our competitors may have greater financial, technical and other resources, greater name recognition and larger sales and marketing budgets; therefore, we may not always compare favorably with respect to some or all of the foregoing factors. </span></div><div style="margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on a combination of patents, copyrights, trademarks, trade secrets, confidentiality procedures and contractual restrictions to establish and protect our proprietary rights in our core solutions and Value+ services. We hold eleven United States patents that directly relate to our technology and expire between 2026 and 2033. We also maintain one issued United States patent that relates directly to web-based legal workflow software, which was exclusively licensed to MyCase, Inc. in connection with our divestiture from the legal vertical in September 2020. For additional details regarding our divestiture, see Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Divestitures and Acquisitions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements in this Annual Report. We may pursue additional patent protection to the extent we believe it would be beneficial and cost effective. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have registered &#8220;AppFolio&#8221; and certain other marks as trademarks in the United States and several other jurisdictions. We have also acquired certain marks and filed trademark applications and renewals in the United States and certain other jurisdictions, and will pursue additional trademark registrations to the extent we believe it would be beneficial and cost effective. We are the registered holder of a variety of domestic and international domain names that include &#8220;appfolioinc.com,&#8221; &#8220;appfolio.com,&#8221; &#8220;appfolioinvestmentmanagement.com&#8221; and similar variations. We also license software from third parties for use in our solutions, including open source software and other software available on standard commercial terms. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We control access to our proprietary technology by entering into confidentiality and invention assignment agreements with our employees and contractors, and confidentiality agreements with third parties. Despite our precautions, it may be possible for unauthorized third parties to copy our software solutions and use information that we regard as proprietary to create products and services that compete with ours. &#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:3pt;margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Trends and Uncertainties Related to the COVID-19 Pandemic</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic has created and may continue to create significant uncertainty and volatility in a wide variety of industries and markets, including the global real estate market, and has prompted many federal, state, local, and foreign governments to implement various lock-down measures in an attempt to contain the spread and mitigate the impact of the disease. The initial implementation of such lock-down measures, and their re-introduction in response to a nation-wide resurgence of COVID-19 cases in late-2020, resulted in business closures, work stoppages, slowdowns and delays, work-from-home policies, travel restrictions and the cancellation or postponement of events.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Despite recent approval and initial distribution of vaccines, both the pandemic and the containment and mitigation measures have had and are likely to continue to have an adverse impact on the global and U.S. economies, the severity and duration of which are uncertain. It is likely that government stabilization efforts will only partially mitigate the consequences to the economy. As such, both the pandemic and containment and mitigation measures may adversely affect our business, operations and financial condition by, among other things, reducing demand for our core solutions and/or Value+ services, impairing the productivity of our workforce, and reducing our access to capital. The extent to which the COVID-19 pandemic will impact our business, financial conditions, and results of operations in the future is highly uncertain and will be affected by a number of factors. These include the duration and extent of the pandemic, the duration and extent of imposed or recommended containment and mitigation measures, the extent, duration, and effective execution of government stabilization and recovery efforts, including those from the successful distribution of effective vaccines.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we restricted non-essential employee travel and transitioned our employees to a remote work environment. We currently expect the majority of our employees will continue working remotely at least through the second quarter of 2021. Our workforce has continued to effectively develop and support our product and service offerings notwithstanding the current environment. We take the health and welfare of our people very seriously, and have encouraged safe practices designed to stem the infection and spread of COVID-19 within our workforce and beyond and to maintain the mental health and well-being of our employees. However, if the COVID-19 pandemic requires remote working conditions for a prolonged period of time, it could have an adverse impact on the productivity of our employees, which would harm our business and impede our ability to achieve our strategic plan. For example, certain of our employees with younger children have been required to respond to ongoing school closures and adapt to a distance learning environment, and may be required to continue to do so for the foreseeable future. Further, we have a limited history of remote work and the long-term impact on, and the resulting types of continuing investments necessary for, our employee base is uncertain. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, the COVID-19 pandemic may have long-term effects on the nature of the office environment and remote working. This may present operational and workplace culture challenges that may adversely affect our business. However, we are committed to our employees returning to the workplace in the long-term, and have recently constructed a new office space in Santa Barbara, California, extended the lease for our office in Richardson, Texas and are seeking new office space to lease in San Diego, California to accommodate our employees' return to the workplace in the future.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We began fiscal year 2020 with healthy demand for our products and services, many of which are designed to enable our customers to manage their businesses virtually. During the twelve months ended December 31, 2020, we experienced some variability in demand for certain Value+ services after lock-down measures were implemented. We expect demand variability for our products and services could continue as a result of the COVID-19 pandemic, although it is presently unclear whether the cumulative impacts will be positive or negative. For example, the economic downturn resulting from the COVID-19 pandemic caused an increase in residential rental defaults and deferrals. Together with eviction moratoriums in some jurisdictions, this adversely affected the rental income of certain customers. Although the impact has not been material to date, a prolonged downturn in economic conditions could have a material adverse effect on our customers and demand for our services.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to actively communicate with and listen to our customers to best ensure that we are responding to their needs in the current environment with innovative solutions that will not only be beneficial now but also over the long-term as well. However, our ability to interact with customers has been impacted by the current environment. We believe that our inability to meet in-person with current or prospective customers, as well as the cancellation or postponement of Company-sponsored events or third-party events at which our products are featured, may have a negative impact on our business.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to monitor developments related to COVID-19 and remain flexible in our response to the challenges presented by the pandemic. To mitigate the adverse impact COVID-19 may have on our business and operations, we have implemented a number of measures to protect the health and safety of our employees, as well as to strengthen our financial position. These efforts include eliminating, reducing, or deferring non-essential expenditures, as well as complying with local and state government recommendations to protect our workforce. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The impact of the COVID-19 pandemic may also exacerbate other risks discussed in this Annual Report. Refer to Item 1A. "Risk Factors" in this Annual Report for a complete description of the material risks that we currently face.</span></div><div style="margin-top:14pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Corporate Information</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We were formed in 2006 as a Delaware limited liability company and converted to a Delaware corporation in 2007. Our principal executive offices are located at 50 Castilian Drive, Santa Barbara, California 93117, and our telephone number is (805)&#160;364-6093. Our corporate website is www.appfolioinc.com. The information contained on or accessed through our website does not constitute part of, and is not incorporated by reference into this Annual Report. References to our website address in this Annual Report are inactive textual references only.</span></div><div style="margin-top:6pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;AppFolio,&#8221; the AppFolio logo, , and other trademarks and trade names of AppFolio appearing in this Annual Report are our property. All other trademarks or trade names appearing in this report are the property of their respective owners. Solely for convenience, the trademarks and trade names in this report are referred to without the&#160;&#174;&#160;and&#160;&#8482;&#160;symbols. We do not intend our use or display of the trademarks, trade names or service marks of other parties to imply a relationship with, or endorsement or sponsorship of us, by such other parties.</span></div><div style="margin-bottom:10pt;margin-top:14pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available Information</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We file annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, as well as amendments to those reports pursuant to Sections 13(a) and 15(d) of the Exchange Act. We also file proxy statements and information statements pursuant to Section 14 of the Exchange Act. The SEC maintains a website at www.sec.gov that contains the reports, proxy and information statements, and other information that we file with or furnish to the SEC electronically. Copies of the reports, proxy statements and other information may also be obtained, free of charge, electronically through our corporate website, at www.appfolioinc.com, as soon as reasonably practical after we file such material with, or furnish it to, the SEC.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_16"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1A. &#160;&#160;&#160;&#160;RISK FACTORS</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;You should consider carefully the risks described below, together with all of the other information included in this Annual Report, as well as in our other filings with the SEC, in evaluating our business and/or an investment in our Class A common stock. If any of the following risks actually occur, our business, financial condition, operating results and future prospects could be materially and adversely affected. In that case, the trading price of our Class A common stock may decline and you might lose all or part of your investment. The risks described below are not the only ones we face. Additional risks that we currently do not know about or that we currently believe to be immaterial may also impair our business, financial condition, operating results and prospects.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Please be advised that certain of the risks and uncertainties described below contain &#8220;forward-looking statements.&#8221; See the section of this Annual Report entitled &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Cautionary Note Regarding Forward-Looking Statements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8221; for additional information.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:103%">Risks Related to Our Business and Our Industry </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:103%">Health epidemics, including the COVID-19 pandemic, have had, and could in the future have, a material adverse impact on our operations, the operations of our customers and other business partners, and the markets and communities in which we and our customers and partners operate.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In December 2019, a novel coronavirus disease, referred to as COVID-19, was reported and has spread globally, including to every state in the United States. On March 11, 2020, the World Health Organization declared COVID-19 a pandemic, and on March 13, 2020, the United States government declared a national emergency with respect to COVID-19. The COVID-19 pandemic has had, and another public health crisis or epidemic in the future could have, repercussions across local, regional and global economies and financial markets. The outbreak of COVID-19 in many countries, including the United States, has adversely impacted global economic activity and has contributed to volatility in and negative pressure on financial markets. In response to the COVID-19 pandemic, many state, local, and foreign governments have put in place, and others in the future may put in place, travel restrictions, quarantines, shelter-in-place orders, and similar government orders and restrictions, in an attempt to control the spread of the disease. Such restrictions or orders, or the perception that such restrictions or orders could be implemented, have resulted in business closures, work stoppages, slowdowns and delays, work-from-home policies, and cancellation or postponement of events, among other effects that could negatively impact our operations, as well as the operations of our customers and business partners. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may exacerbate the potential harm to our business and results of operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we restricted non-essential employee travel and transitioned our employees to a remote work environment. We currently expect the majority of our employees will continue working remotely at least through the second quarter of 2021. Our workforce has continued to effectively develop and support our product and service offerings notwithstanding the current environment. We take the health and welfare of our people very seriously, and have encouraged safe practices designed to stem the infection and spread of COVID-19 within our workforce and beyond and to maintain the mental health and well-being of our employees. However, if the COVID-19 pandemic requires remote working conditions for a prolonged period of time, it could have an adverse impact on the productivity of our employees, which would harm our business and impede our ability to achieve our strategic plan. For example, certain of our employees with younger children have been required to respond to ongoing school closures and adapt to a distance learning environment, and may be required to continue to do so for the foreseeable future. Further, we have a limited history of remote work and the long-term impact on, and the resulting types of continuing investments necessary for, our employee base is uncertain. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The COVID-19 pandemic has resulted in a rapid rise in unemployment and a sudden decrease in global economic activity, and many businesses have experienced, or are anticipating that they may experience, a significant negative impact on their operating results. Our inability to meet in-person with current or prospective customers, or the cancellation or postponement of Company-sponsored events or third-party events at which our products are featured, could have a negative impact on our customer engagement efforts, which could further impact demand in future periods. Furthermore, the demand for our products and services, as well as our operating results, could be adversely impacted due to a number of other factors, including the following: </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">customers delaying decisions to adopt our core products, or expand the use of our Value+ services, as they seek to reduce or delay spending in response to the impacts of COVID-19 on their own businesses;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a complete or partial closure of, or other operational issues at, properties owned by our customers resulting from government restrictions or orders;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a deterioration in our ability, or the ability of our customers, to operate in affected geographic areas;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">bankruptcies or other financial difficulties facing our customers, which could cause them to delay making payments to us, or result in them terminating or reducing their use of our core products or Value+ services;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">the inability of tenants to meet their obligations to our customers, resulting in tenant evictions or the sale of properties;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">the failure of key business partners to provide services needed for our efficient operations, including with respect to electronic payments and tenant screening;</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a decrease in the reliability or availability of our core products or Value+ services as a result of errors, defects or service interruptions caused by the remote work environment; </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">an increase in risks related to cyber-attacks or fraud designed to exploit perceived or actual gaps in security as a result of the remote work environment; and</span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:103%">&#9642;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%;padding-left:13.75pt">a decrease in the availability or utility of our customer service organization caused by the remote work environment.</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Any of the factors described above, or any number of other risks related to the COVID-19 pandemic, could disrupt our business, which could have a material adverse impact on our business, operations and financial results. Despite recent approval and initial distribution of vaccines, both the pandemic and the containment and mitigation measures have had and are likely to continue to have an adverse impact on the global and U.S. economies, the severity and duration of which are uncertain. It is likely that government stabilization efforts will only partially mitigate the consequences to the economy. As such, both the pandemic and containment and mitigation measures may adversely affect our business, operations and financial condition by, among other things, reducing demand for our core solutions and/or Value+ services, impairing the productivity of our workforce, and reducing our access to capital. The extent to which the COVID-19 pandemic will impact our business, financial conditions, and results of operations in the future is highly uncertain and will be affected by a number of factors. These include the duration and extent of the pandemic, the duration and extent of imposed or recommended containment and mitigation measures, the extent, duration, and effective execution of government stabilization and recovery efforts, including those from the successful distribution of effective vaccines.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We manage our business to achieve long-term growth, which may not be consistent with the short-term expectations of some investors.</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We plan to continue to manage our business towards the achievement of long-term growth to positively impact long-term value, and not towards the realization of short-term metrics or short-term value. We will make product decisions and pursue opportunities that may reduce our short-term operating results if we believe that these decisions are consistent with our strategic objective to achieve long-term growth. These decisions may not be consistent with the short-term expectations of some investors, and may cause significant fluctuations in our operating results and our stock price from period to period. In addition, notwithstanding our intention to make strategic decisions that positively impact long-term value, the decisions we make may not produce the long-term benefits we expect. Our principal stockholders, some of whom also serve as our directors and executive officers, control a majority of the combined voting power of our outstanding capital stock. As a result, they control the election of a majority of our directors and thereby have the power to control our affairs and policies, including the appointment of management and strategic decisions, as well as matters that are submitted to a vote by our holders of our common stock. The interests of our principal stockholders may be inconsistent with or adverse to those of holders our Class A common stock.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Failure to manage our growth effectively could adversely affect our operating results and preclude our achievement of our strategic plans.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We anticipate that we will continue to experience growth and expansion of our operations. This growth in the size, complexity and diversity of our business has placed, and we expect it will continue to place, a significant strain on our management, administrative, operational and financial resources, as well as our company culture. Our future success will depend, in part, on our ability to manage this growth effectively, which we expect to be more challenging in the current environment as we seek to respond to the uncertainty and disruption caused by the COVID-19 pandemic. To manage the expected growth of our operations, we will need to continue to develop and improve our operational and financial controls and our reporting systems and procedures, attract and retain highly qualified and motivated personnel across our organization, and nurture and build on our company culture. Failure to effectively manage growth could adversely impact our business, including by resulting in errors or delays in deploying new core functionality to our customers, delays or difficulties in introducing new Value+ services or other products, declines in the quality or responsiveness of our customer service organization, exposure to legal, regulatory and operational risks inherent in our business and resulting from any new products or services we provide to our customers or to our customers&#8217; customers, increases in costs and operating expenses, and other operational difficulties. If any of these risks actually occur, it could adversely affect our operating results, and preclude us from achieving our strategic objectives.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We expect to make substantial investments across our organization to grow our business and may not sustain profitability.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In order to implement our business and growth strategy, we have made and will continue to make substantial investments across our organization and, as a result, we expect our expenses to increase significantly and we may not be consistently profitable. For example, we intend to continue to make substantial investments in, among other things: our research and product development organization to enhance the ease of use and functionality of our software solutions and develop new products; our continued efforts to identify acquisition targets that enhance the depth and/or functionality of our software solutions or Value+ services; our customer service organization to deepen our relationships with our customers and promote customer retention; our sales and marketing organization, including expansion of our direct sales organization and marketing programs, to increase the size of our customer base and increase adoption and utilization of new and existing Value+ services by our new and existing customers; maintaining and expanding our technology infrastructure and operational support to promote the security and availability of our software solutions; our general and administrative functions, to support our growth and assist us in maintaining compliance with legal, regulatory and other compliance-related obligations; and the expansion of our existing facilities, including leasing and building out additional office space, to support our growth and strategic development. Even if we are successful in growing our customer base and increasing revenue from new and existing customers, we may not be able to generate additional revenue in an amount that is sufficient to cover our expenses. We cannot assure you that we will continue to achieve profitability in the near term or that we will sustain profitability on a sequential quarterly basis or over any particular period of time. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our quarterly results may fluctuate significantly and period-to-period comparisons of our results may not be meaningful.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our quarterly results, including the levels of our revenue, costs, operating expenses, and operating margins, may fluctuate significantly in the future, and period-to-period comparisons of our results may not be meaningful. Accordingly, the results of any one quarter should not be relied upon as an indication of our future performance. Our focus on managing our business towards the achievement of long-term growth, rather than the realization of short-term metrics, may also exacerbate fluctuations in our quarterly results, which could negatively impact the value of our Class A common stock. We may incur significant losses in a particular period for a number of reasons, and may experience significant fluctuations in our operating results from period to period. These and other factors, including the significant disruption and uncertainty caused by the COVID-19 pandemic, combine to make it difficult for us to accurately forecast our future operating results, which in turn makes it difficult for us to prepare accurate budgets and implement strategic plans. Furthermore, if our quarterly results fall below the expectations of investors or any securities analysts who follow our stock, or below any financial guidance we may provide, the price of our Class A common stock could decline substantially. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our estimates of market opportunity are subject to significant uncertainty and, even if the markets in which we compete meet or exceed our size estimates, we could fail to increase our revenue or market share.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We determine the level of our investment in various aspects of the business, in part, based on our market opportunity estimates. Market opportunity estimates are subject to significant uncertainty and are based on assumptions and estimates, including our internal analysis and industry experience. Assessing the market for industry-specific, cloud-based business management software is particularly difficult due to a number of factors, including limited available information and rapid evolution of the market. Further, market opportunity estimates sometimes change based on relevant macro-trends and market conditions, or evolving assessment methodologies. The disruptions and impacts caused by the COVID&#8209;19 pandemic may ultimately require us to significantly reduce our estimates of the market opportunities in certain markets or industry verticals, which could negatively impact our long-term growth prospects.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our acquisition of other companies or technologies would subject us to integration risks, as well as risks related to the financing of such acquisitions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have acquired, and may in the future acquire, other companies or technologies to complement or expand our software solutions, optimize our technical capabilities, enhance our ability to compete in our targeted vertical, provide an opportunity to expand into an adjacent market or new vertical, or otherwise offer growth or strategic opportunities. For example, in the real estate vertical, we acquired substantially all of the assets of WegoWise in 2018 and completed the acquisition of Dynasty in 2019. The identification, investigation and negotiation of acquisitions may divert the attention of management and cause us to incur various expenses, whether or not they are consummated. We have limited experience acquiring other businesses and we may not be able to effectively integrate acquired assets, technologies, personnel and operations or achieve the anticipated synergies or other benefits from the acquired business due to the inherent risks associated with acquisitions. If an acquisition fails to meet our expectations in terms of its contribution to our overall business strategy or operating results, or if the costs of acquiring or integrating the acquired business exceed our estimates, our business, operating results and financial condition may suffer. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Acquisitions could also subject us to related financing risks. We cannot guarantee that additional financing will be available to us on favorable terms when required, or at all. Acquisitions could result in the issuance of equity securities, which would result in immediate dilution to our stockholders and those securities may have powers, preferences or rights senior to the rights of our Class A common stock. We may incur debt to finance acquisitions, which could impose debt service obligations and restrictions on our ability to operate our business. Our ability to obtain additional capital for acquisitions will depend on numerous factors, including investor and lender demand, our compliance with debt obligations, our historical and forecasted financial and operating performance, our liquidity position, the overall condition of the capital markets, and the global economy as a whole. If we raise funds in the form of debt, we may incur interest expense or other costs to service the debt, we may be required to encumber certain assets, and we may become subject to restrictions on our ability to conduct business, any of which could negatively impact our operating results. Furthermore, a significant portion of the purchase price of companies we may acquire could be allocated to goodwill and other intangible assets, which must be assessed for impairment. In the future, if our acquisitions do not yield expected returns, we may be required to take charges to our operating results based on this impairment assessment process, which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Security vulnerabilities in our software solutions or a breach of our security controls could result in the loss, theft, misuse, unauthorized disclosure, or unauthorized access to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">customer or employee data, or other confidential or sensitive information, which could harm our customer and/or employee relationships, expose us to litigation or harm our reputation.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our business involves the storage and transmission of a significant amount of confidential and sensitive information, including the personal information of our employees and other individuals, customer data, and our proprietary financial, operational and strategic information. In providing our software solutions, we store and transmit large amounts of our customers&#8217; data, including sensitive and proprietary data and personal information collected by or on behalf of our customers. Our software solutions are typically the system of record, system of engagement and, increasingly, the system of intelligence for all or a portion of our customers&#8217; businesses, and the data processed through our software solutions is critical to their businesses. Like many other businesses, we have experienced, and are continually at risk of being subject to, cyber attacks and data security incidents. As our business grows, the number of users of our software solutions, as well as the amount of information we collect and store, is increasing, and our brands are becoming more widely recognized which makes us an even greater target for malicious activity. There can be no assurance that the security measures we employ will prevent malicious or unauthorized access to our systems and information. Furthermore, no security program can entirely eliminate the risk of human error, such as an employee or contractor&#8217;s failure to follow one or more security protocols. Therefore, despite our significant efforts to keep our systems, products and networks protected and up to date, we may be unable to anticipate cyber attacks, detect security incidents or react to them in a timely manner, or implement adequate preventive measures, any of which may expose us to a risk of loss, litigation and potential liability. In addition, some of our third-party service providers also collect and/or store our sensitive information and our customers&#8217; data on our behalf, and these service providers are subject to similar threats of cyber attacks and other malicious Internet-based activities.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">If our security measures, or the security measures of our third-party service providers, are breached as a result of wrongdoing or malicious activity on the part of our employees, our partners&#8217; employees, our customers&#8217; employees, or any third party, or as a result of any human error or neglect, product defect or otherwise, and this results in the loss, theft, misuse, unauthorized disclosure, or unauthorized access to customer data or other sensitive information, we could incur liability to our customers and to individuals or organizations whose information was being stored by us or our customers, as well as fines from payment processing networks and regulatory action by governmental bodies. If we experience a widespread security breach, we cannot be certain that our insurance coverage will be sufficient to compensate us for liabilities actually incurred or that insurance will continue to be available to us on reasonable terms, or at all. In addition, security breaches could result in reputational damage, adversely affect our ability to attract new customers and cause existing customers to reduce or discontinue the use of our software solutions. Furthermore, the perception by our current or potential customers that our software solutions could be vulnerable to exploitation or that our security measures are inadequate, even in the absence of a particular problem or threat, could reduce market acceptance of our software solutions and cause us to lose customers. The legal and regulatory </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">environment around data security and governance is significantly evolving, and both regulators and consumers are increasingly taking action on data-related matters, which may contribute to increased reputational, economic and other harm in the event of a data security incident.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Service outages and other infrastructure performance problems could harm our reputation and adversely affect our ability to attract and retain customers.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We seek to maintain sufficient excess capacity in our technology infrastructure to meet the needs of all of our customers, including facilitating the expansion of existing customer deployments and the provisioning of new customer deployments. We have experienced, and may in the future experience, website disruptions, service outages and other performance problems with our technology infrastructure. These problems may be caused by a variety of factors, including infrastructure changes, power or network outages, fire, flood or other natural disasters affecting our cloud computing platform providers, human or software errors, viruses, security breaches, fraud or other malicious activity, spikes in customer usage and distributed denial of service attacks. If our technology infrastructure fails to keep pace with the increased number of users and amount of data, or if we are unable to avoid service outages and performance problems, or to resolve them quickly, this could adversely affect our ability to attract new customers, result in the loss of existing customers and harm our reputation, any or all of which could adversely affect our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Errors, defects or other disruptions in our software solutions could harm our reputation, cause us to lose customers, and result in significant expenditures to correct the problem.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our customers use our software solutions to manage critical aspects of their businesses, and any errors, defects or other disruptions in the performance of our software solutions, including with respect to third party partners upon which certain of our software solutions are dependent, may result in loss of or damage to our customers&#8217; data and disruption to our customers&#8217; businesses, which could harm our reputation. We provide continuous updates to our software solutions and these updates may contain undetected errors when first introduced. In the past, we have discovered errors, failures, vulnerabilities and bugs in our software updates after they have been released, and similar problems may arise in the future. Real or perceived errors, failures, vulnerabilities or bugs in our software solutions could result in negative publicity, reputational harm, loss of customers, delay in market acceptance of our software solutions, loss of competitive position, withholding or delay of payment to us, claims by customers for losses sustained by them and potential litigation or regulatory action. In any such event, we may be required to expend additional resources in order to help correct the problem or we may choose to expend additional resources to take corrective action even where not required. The costs incurred in correcting any material errors, defects or other disruptions could be substantial and there may not be any corresponding increase in revenue to offset these costs. In addition, we may not carry insurance sufficient to compensate us for any losses that may result from claims arising from errors, defects or other disruptions in our software solutions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Privacy and data security laws and regulations could impose additional costs and reduce demand for our software solutions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We store and transmit personal information relating to our employees and other individuals, and our customers use our technology platform to store and transmit a significant amount of personal information relating to their customers, vendors, employees and other industry participants. Federal, state and foreign government bodies and agencies have in the past adopted, and may in the future adopt, laws and regulations regarding the collection, use, processing, storage and disclosure of personal or identifying information obtained from customers and other individuals. For instance, the California Consumer Privacy Act created new data privacy and security rights for California residents. Similarly, there are a number of existing and proposed laws and regulations in the European Union and the United States at both the federal and state level, as well as other jurisdictions that could impose new obligations in areas affecting our business. These new obligations could increase the cost and complexity of delivering our services, and divert our managements&#8217; attention from pursuing strategic objectives.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In addition to government regulation, privacy advocates and industry groups may propose various self-regulatory standards that may legally or contractually apply to our business. As new laws, regulations and industry standards take effect, and as we expand into new jurisdictions, adjacent markets or, potentially, verticals consistent with our strategic plan, we will need to understand and comply with various new requirements, which may result in significant additional costs. These laws, regulations and industry standards could have negative effects on our business, including by increasing our costs and operating expenses, and/or delaying or impeding our deployment of new or existing core functionality or Value+ services. Failure to comply with these laws, regulations and industry standards could result in negative publicity, subject us to fines or penalties, expose us to litigation, or result in demands that we modify or cease existing business practices. In addition, the costs of compliance with, and other burdens imposed by, such laws, regulations and industry standards may adversely affect our customers&#8217; ability or desire to collect, use, process and store personal information using our software solutions, which could reduce overall demand for them. Furthermore, privacy and data security concerns may cause our customers&#8217; clients, vendors, employees and other industry participants to resist providing the personal information necessary to allow our customers to use our applications effectively. Any of these outcomes could adversely affect our business and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We face risks in our electronic payment services business that could adversely affect our business and/or operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In our electronic payments services business, we facilitate the processing of both inbound and outbound payments for our customers. These payments are settled through our sponsoring clearing bank, card payment processors, and other third-party electronic payment services providers that we may contract with from time to time. Our electronic payment services subject us to a number of risks, including, but not limited to, liability for customer costs related to disputed or fraudulent transactions and other incidences of fraud in our electronic payment services ecosystem. In the event that we are found to be in violation of our legal, regulatory or contractual requirements, we may be subject to monetary fines or penalties, cease-and-desist orders, mandatory product changes, or other liabilities that could have an adverse effect on our operating results. Additionally, with respect to the processing of electronic payment transactions by our third-party electronic payment services providers, we are exposed to financial risk. Electronic payment transactions between our customer and another user may be returned for various reasons such as insufficient funds, fraud or stop payment orders. If we or our electronic payment services provider is unable to collect such amounts from the customer&#8217;s account, we bear the ultimate risk of loss for the transaction amount. Further, there is an overarching risk stemming from the potential widespread adoption of quickly evolving financial technology products, including, for example, blockchain or other distributed ledger technologies, that could materially impact the manner in which payments are processed, the mix of payment methodologies conventionally utilized by payors and payees, and the regulatory framework applicable to such payments. The adoption of disruptive financial technologies could significantly reduce the volume of our electronic payment services business and/or change the transaction costs associated with those payments, thereby reducing our revenue and increasing our associated expenses, which could materially impact our business, financial condition, and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:103%">Evolution and expansion of our electronic payment services may subject us to additional risks and regulatory requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The evolution and expansion of our electronic payment services may subject us to additional risks and regulatory requirements, including, without limitation, laws and regulations governing money transmission and anti-money laundering. These requirements vary throughout the markets in which we operate, and several jurisdictions lack clarity with respect to the application and interpretation of these rules. Our efforts to comply with these rules could require significant management time and effort, as well as significant expenditures, and will not guarantee our compliance with all regulatory requirements, especially given that the applicable regulatory frameworks are constantly changing and subject to evolving interpretation. While we maintain a compliance program focused on applicable laws and regulations throughout our applicable industries, there is no guarantee that we will not be subject to fines, penalties or other regulatory actions in one or more jurisdictions, or be required to adjust our business practices to accommodate future regulatory requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We face risks in our tenant screening services business that could adversely affect our business and/or operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our tenant screening services business is subject to a number of complex laws that are subject to varying interpretations, including the FCRA and related regulations. The FCRA has recently been the subject of multiple class-based litigation proceedings, as well as numerous regulatory inquiries and enforcement actions. In addition, entities such as the FTC and the Consumer Financial Protection Bureau ("CFPB") have the authority to promulgate rules and regulations that may impact our customers and our business. Although we attempt to structure our tenant screening services to comply with the relevant laws and regulations, we may be found to be in violation of them and we may be subject to routine regulatory inquiries, enforcement actions, class-based litigation or indemnity demands.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As previously disclosed, we received a Civil Investigative Demand from the FTC in December 2018 requesting certain information relating to our compliance with the FCRA in connection with our tenant screening services business (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there is a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA that could result in monetary penalty and injunctive relief. Notwithstanding our disagreement with the FTC's position and vigorous defense of our position, and primarily in an effort to avoid protracted litigation and potential distraction to our business, we entered into settlement negotiations with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. Those settlement negotiations resulted in a final agreement between the parties that is memorialized in a Stipulated Order for Permanent Injunction and Civil Penalty Judgment filed in the United States District Court for the District of Columbia on January 12, 2021. We admitted no wrongdoing in connection with the settlement. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the second quarter of 2020, we determined that a loss stemming from the FTC Investigation was probable and that a reasonable estimate of the loss was approximately $4.3 million. Accordingly, an accrual of $4.3 million is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">accrued expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheet as of December 31, 2020. The ultimate settlement amount of approximately $4.3 million was paid in January 2021.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In addition, we received a Request for Information from the DOJ in July 2019 requesting certain information relating to our compliance with the SCRA in connection with our tenant screening services business. On November 6, 2020, the DOJ issued a no action letter, declining to take any action against us and closing its investigation. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Due to the large number of tenant screening transactions in which we participate, our potential liability in any enforcement action or a class action lawsuit could have a material impact on our business, especially given that certain applicable laws and regulations provide for fines or penalties on a per occurrence basis. The existence of any such enforcement action or class action lawsuit, whether meritorious or not, may adversely affect our ability to attract customers, result in the loss of existing customers, harm our reputation and cause us to incur defense costs or other expenses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We use third-party service providers for electronic payment and tenant screening services, and their failure to fulfill their contractual obligations could harm our reputation, disrupt our business and adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We use third-party electronic payment services providers to enable us to provide electronic payment services, and third-party tenant screening services providers to enable us to provide tenant screening services such as background and credit checks to our customers. In some cases, functions necessary to our business are performed on proprietary third-party systems and software to which we have no access. The failure of these service providers to provide us with accurate and timely information, to fulfill their contractual obligations to us, or to renew their contracts with us, could result in direct liability to us, harm our reputation, result in significant disruptions to our business, and adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our corporate culture has contributed to our success and, if we cannot continue to foster this culture as we grow, we could lose the passion, creativity, teamwork, focus and innovation fostered by our culture.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We believe that our culture has been and will continue to be a key contributor to our success. If we do not continue to develop our corporate culture or maintain our core values as we grow and evolve, we may be unable to foster the passion, creativity, teamwork, focus and innovation we believe we need to support our growth. Any failure to preserve our culture could negatively affect our ability to recruit and retain personnel and to effectively focus on and pursue our strategic objectives. Moreover, liquidity available to our employee security holders could lead to disparities of wealth among our employees, which could adversely impact relations among employees and our culture in general. As we grow and mature as a public company, we may find it difficult to maintain our corporate culture. This difficulty will only be exacerbated by the COVID-19 pandemic, which has resulted in travel restrictions, quarantines, shelter-in-place orders and similar government orders and restrictions that collectively make it more difficult for employees to interact, communicate and innovate.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We depend on highly skilled personnel and, if we are unable to retain or hire additional qualified personnel or if we lose key members of our management team, we may not be able to achieve our strategic objectives and our business may be harmed.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our success and future growth depend, in part, upon the continued services of our executive officers and other key employees. There may be changes in our executive officers or other key employees resulting from the hiring or departure of these personnel, which may disrupt our business. The loss of one or more of our executive officers or other key employees could have an adverse effect on our business. In addition, to execute our growth plan and achieve our strategic objectives, we must continue to attract and retain highly qualified and motivated personnel across our organization. In particular, in order to continue to enhance our software solutions, add new and innovative core functionality and/or Value+ services, as well as develop new products, it will be critical for us to increase the size of our research and product development organization, including hiring highly skilled software engineers. Competition for software engineers is intense within our industry and there continues to be upward pressure on the compensation paid to these professionals. Further, in order for us to achieve broader market acceptance of our software solutions, grow our customer base, and pursue adjacent markets and, potentially, new verticals consistent with our strategic plan, we will need to continue to increase the size of our sales and marketing and customer service and support organizations. Identifying, recruiting, training and retaining qualified personnel is difficult and requires a significant investment of time and resources.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Many of the companies with which we compete for experienced personnel have greater name recognition and financial resources than we have. In addition, our headquarters are located in Santa Barbara, California, which is not generally recognized as a prominent commercial center, and it is challenging to attract qualified professionals due to our geographic location. As a result, we may have even greater difficulty hiring and retaining skilled personnel than our competitors. If we hire employees from other companies, their former employers may attempt to assert that we or these employees have breached their legal obligations, resulting in a diversion of our time and resources. In addition, prospective and existing employees often consider the value of the equity awards they receive in connection with their employment. If the perceived value of our equity awards declines, or if the price of our Class A common stock experiences significant volatility, this may adversely affect our ability to recruit and retain highly skilled employees. If we are unable to attract and retain the personnel necessary to execute our growth plan, we may be unable to achieve our strategic objectives and our operating results may suffer. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The vertical market in which we participate is intensely competitive and our business could be harmed if we do not compete effectively.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The overall market for cloud-based business management software is global, highly competitive and continually evolving in response to a number of factors, including changes in technology, operational requirements, and laws and regulations. While we focus on providing industry-specific, cloud-based business management software solutions to the real estate vertical, we compete with other vertical cloud-based solution providers, as well as with horizontal cloud-based solution providers that provide broad cloud-based solutions across multiple verticals. Our competitors include established vertical software vendors, as well as newer entrants in the market. We also face competition from numerous cloud-based solution providers that focus almost exclusively on one or more point solutions. Continued consolidation among cloud-based providers could lead to significantly increased competition. Many of our competitors and potential competitors are larger and have greater name recognition, longer operating histories, and significantly greater resources. As a result, our competitors may be able to respond more quickly and effectively to new or changing opportunities, technologies, operational requirements and industry standards, as well as to new challenges such as those resulting from the COVID-19 pandemic. In addition, our current and potential competitors may develop, market and sell new technologies with comparable functionality to our software solutions, which could cause us to lose customers, slow the rate of growth of new customers and/or cause us to decrease our prices in order to remain competitive. For all of these reasons, we may not be able to compete effectively against our current and future competitors, which could harm our business.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As the markets for our existing software solutions mature, or as current and future competitors introduce new products or services that compete with ours, we may experience pricing pressure and be unable to renew our subscription agreements with existing customers or increase adoption and usage of our Value+ services, or attract new customers at prices that are consistent with our current pricing model and operating budget. We may ultimately have to change our pricing model or offer pricing incentives which may adversely affect our revenue even if adoption and utilization remain constant. Changes to our pricing model could harm our customer retention rates and our ability to attract new customers, whether in connection with our core solutions or our Value+ services, which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Business management software for small and medium-sized businesses ("SMBs") is an evolving market. If the market is smaller than estimated or the transition to or between cloud-based business management software slows, our operating results could be adversely affected.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We provide cloud-based business management software for SMBs in the real estate vertical and will assess entry into new or adjacent markets consistent with our strategic plan. Our success will depend, in part, on the continued widespread adoption by SMBs of cloud-based business management software. The market for industry-specific, cloud-based business management software for SMBs, both generally, and specifically within the real estate market, is evolving and is relatively small. The continued expansion of this market depends on numerous factors, including the cost and perceived value associated with cloud-based business management software relative to disparate point solutions, the willingness of SMBs to transition from their existing software systems or otherwise alter their existing businesses practices, and the ability of cloud-based solution providers to address security, privacy, availability and other concerns. If the widespread adoption of cloud-based business management software by SMBs does not continue, our revenue may increase at a slower rate than we expect and may even decline, which could adversely affect our operating results. In addition, it is difficult to estimate the rate at which SMBs will be willing to transition to or between vertical cloud-based business management software in any particular period, which makes it difficult to estimate the overall size and growth rate of the market for cloud-based business management software at any point in time or to forecast revenue growth or market share. This transition rate may be negatively impacted by the COVID-19 pandemic as customers may delay decisions to adopt our core products, or expand the use of our Value+ services, as they seek to reduce or delay spending within their businesses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to increase sales of our software solutions to larger customers while mitigating the risks associated with serving such customers, our business and operating results may suffer.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">While we plan to continue to market and sell our software solutions to smaller companies or firms, our growth strategy is dependent, in part, upon increasing sales of our software solutions to larger customers within the real estate vertical. Sales to larger customers may involve risks that are not present, or are present to a lesser extent, in sales to smaller businesses. As we seek to increase our sales to larger customers, we may invest considerably greater amounts of time and financial resources in our sales and marketing efforts. In addition, we may face longer sales cycles and experience less predictability and greater competition in completing some of our sales. Our ability to sell our software solutions to larger customers may be dependent, in part, on our ability to develop functionality, or to implement pricing policies, that are unique to particular customers or are necessary for success in a market segment dominated by larger customers. Also, because security breaches or other performance problems with respect to larger customers may result in greater economic harm to these customers and more adverse publicity, there is increased financial and reputational risk associated with serving such customers. If we are unable to increase sales of our software solutions to larger customers, while mitigating the risks associated with serving such customers, our business and operating results may suffer.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to introduce successful enhancements, including new and innovative core functionality and/or Value+ services, or new products for adjacent markets or additional verticals, our operating results could be adversely affected.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The software industry is characterized by rapid technological advances, changing industry standards, evolving customer requirements and intense competition. Our ability to attract new customers, increase revenue from our existing customers, and expand into adjacent markets or, potentially, new verticals depends, in part, on our ability to enhance the functionality of our existing software solutions by introducing new and innovative core functionality and/or Value+ services that keep pace with technological developments and address the evolving business needs of our customers. In addition, our growth over the long-term depends, in part, on our ability to introduce new products for adjacent markets and, potentially, additional verticals that we identify through our market validation process consistent with our strategic plan. Market acceptance of our current and future software solutions will depend on numerous factors, including the pricing of our software solutions relative to competitive products, perceptions about the security, privacy and availability of our software solutions relative to competitive products, and the time-to-market of our updates and enhancements to our core functionality, Value+ services and products. If we are unable to successfully enhance the functionality of our existing software solutions and timely develop or acquire new products that gain market acceptance in adjacent markets and additional verticals consistent with our strategic plan, our revenue may increase at a slower rate than we expect and may even decline, which could adversely affect our operating results. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our business depends substantially on existing customers renewing their subscriptions with us and expanding their use of our Value+ services, and a decline in either could adversely impact our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In order for us to maintain or increase our revenue and improve our operating results, it is important that our existing customers continue to pay subscription fees for the use of our core solutions, which tend to incrementally rise over time, as well as increase their adoption and utilization of our Value+ services. We cannot assure you that our customers will renew their subscriptions with us, that our existing customers will continue to broaden their adoption and utilization of our Value+ services, or that they will use our Value+ services at all. If our existing customers do not renew their subscriptions and increase their adoption and utilization of our existing or newly developed Value+ services, our revenue may increase at a slower rate than we expect and may even decline, which could adversely impact our financial condition and operating results. The loss of our existing customers could have a significant impact on our reputation and our ability to acquire new customers cost-effectively via word-of-mouth. A reduction in the number of our existing customers, even if offset by an increase in new customers, could reduce our revenue and operating margins. We may need to employ increasingly costly sales and marketing efforts and make significant investments in research and product development to introduce Value+ services that ultimately are not broadly adopted by our customers. In either of those cases, we could incur significantly increased costs without a corresponding increase in revenue. Furthermore, we may fail to identify Value+ services that our customers need for their businesses, in which case we could miss opportunities to increase our revenue. We may experience lower rates of subscription renewals, as well as lower rates of adoption and utilization of Value+ services, as a result of the COVID-19 pandemic as customers may seek to reduce or delay spending within their businesses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">All of our revenues are presently generated by sales to customers and users in the real estate vertical, and factors that adversely affect that vertical, or our customers or users within it, could also adversely affect us.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We expect that our real estate customers and users will continue to account for a significant portion or all of our revenue for the foreseeable future. Demand for our software solutions and services could be affected by factors that are unique to and adversely affect the real estate vertical and our customers and users within it. If the vertical itself declines, our customers may decide not to renew their subscriptions or they may cease using our Value+ services in order to reduce costs to remain competitive. Further, we could lose real estate customers as a result of acquisitions or consolidations within the real estate vertical, bankruptcies or other financial difficulties facing our real estate customers, new or enhanced legal or regulatory regimes that negatively impact the real estate vertical, and conditions or trends specific to the real estate vertical such as the economic factors that impact the rental market. It is possible that the significant increase in unemployment rates, regulation and financial uncertainty caused by the COVID-19 pandemic could have a disproportionate impact on businesses within the real estate vertical, which may, in turn, disproportionately affect our customers and users and, therefore, our business, financial condition and operating results. In addition to the foregoing risks, there is an overarching risk stemming from potential widespread adoption of quickly evolving financial or other disruptive technology products that could significantly impact the real estate vertical, even if the disruptive technology is not specifically designed to apply directly to it. The adoption of these new technologies could significantly reduce the volume or demand of our customers and users, thereby reducing our revenue, which could materially impact our business, financial condition and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our growth depends in part on our strategic relationships with third parties and, if we are unsuccessful in establishing or maintaining these relationships, our ability to compete in our targeted markets or grow our revenue could be impaired.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In order to grow our business, we anticipate that we will continue to depend on our relationships with third parties, including cloud computing service providers, electronic payment, tenant screening and insurance services providers, and other third parties that support delivery of our software solutions. Identifying partners, negotiating agreements and maintaining relationships requires significant time and resources. Our competitors may be more effective than us in cost-effectively building relationships with third parties that enhance their products and services, allow them to provide more competitive pricing, or offer other benefits to their customers. In addition, acquisitions of our partners by our competitors or others could result in a decrease in the number of current and potential strategic partners willing to establish or maintain relationships with us, and could increase the price at which products or services are available to us. If we are unsuccessful in establishing or maintaining our relationships with third parties, our ability to compete in the marketplace or to grow our revenue could be impaired, which could negatively impact our operating results. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We depend on cloud computing platforms and computing infrastructure operated by third parties and any disruption in these operations could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We currently rely on cloud computing resources operated by Amazon Web Services and other third party cloud computing service providers to power the products and services that we provide to our customers. These cloud computing service providers may experience service interruptions that are outside of our control, possibly even across multiple regions, which could adversely affect our business. Furthermore, they may not be able to provide us with additional computing resources needed to scale our infrastructure ahead of our growing customer base. If any of these issues arise, we may be required to migrate our cloud computing resources, or add new computing resources, to other cloud computing service providers. It may require significant effort to migrate all of our services to a different region if we are forced to recover from a regional, or multi-regional, outage by any of our cloud computing service providers. Problems faced by any of these service providers with whom we contract, or changes in service levels provided by them, could adversely affect the experience of our customers, result in loss of or damage to our customers&#8217; stored information, which could harm our reputation, impair our ability to attract and retain customers, and subject us to potential liability, any of which could adversely affect our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our platform must integrate with a variety of devices, operating systems and browsers that are developed by others, and if we are unable to ensure that our software solutions interoperate with such devices, operating systems and browsers, our software solutions may become less competitive and our operating results may be harmed.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We offer our software solutions across a variety of operating systems and through the Internet. We depend on the interoperability of our platform with third party devices, desktop and mobile operating systems, as well as web browsers that we do not control. Any changes in such devices, systems or web browsers that degrade the functionality of our software solutions or give preferential treatment to competitive services could adversely affect the adoption and usage of our software solutions. In addition, in order to deliver high quality software solutions, we will need to continuously enhance and modify our functionality to keep pace with changes in Internet-related hardware, mobile operating systems such as iOS and Android, browsers and other software, communication, network and database technologies. We may not be successful in developing enhancements and modifications that operate effectively with these devices, operating systems, web browsers and other technologies or in bringing them to market in a timely manner. Furthermore, uncertainties regarding the timing or nature of new network platforms or technologies, and modifications to existing platforms or technologies, could increase our research and product development expenses. In the event that it is difficult for our customers to access and use our software solutions, our software solutions may become less competitive, and our operating results could be adversely affected.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If our property management customers stop requiring residents to provide proof of legal liability to landlord insurance, if insurance premiums decline or if insureds experience greater than expected losses, our operating results could be harmed.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We generate revenue by offering legal liability to landlord insurance through a wholly owned subsidiary. Some of our property management customers require residents to provide proof of legal liability to landlord insurance and offer to enroll residents in their legal liability to landlord insurance policy. If demand for rental housing declines, or if our property management customers believe that it may decline, these customers may reduce their rental rates and stop requiring residents to provide proof of legal liability to landlord insurance in order to reduce the overall cost of renting and make their rental offerings more competitive. If our property management customers stop requiring residents to provide proof of legal liability to landlord insurance or elect to enroll residents in insurance programs offered by competing providers, or if insurance premiums otherwise decline, our revenues from insurance services could be adversely affected. Additionally, we underwrite our legal liability to landlord insurance policies, and we are required by our insurance partner to maintain a reserve to cover potential claims under the policies. While our policies have per-occurrence limits, there is no limit on the dollar amount of claims that could be made against us in any particular period or in the aggregate. In the event that claims by the insureds increase unexpectedly, our reserve may not be sufficient to cover our resulting liability under the policies. If we are required to pay out significantly higher amounts to insureds than our current reserves, this could have a material adverse impact on our operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our insurance business is subject to state governmental regulation, which could limit the growth of our insurance business and impose additional costs on us.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our insurance-related wholly owned subsidiaries and third-party service providers maintain licenses with a number of individual state departments of insurance. Collectively, we are subject to state governmental regulation and supervision in connection with the operation of our insurance business, which includes both our legal liability to landlord insurance and renters insurance businesses. Such supervision could limit the growth of our insurance business by increasing the costs of regulatory compliance, limiting or restricting the products or services we provide or the methods by which we provide them, and subjecting us to regulatory actions or proceedings. Our continued ability to maintain these insurance licenses in the jurisdictions in which we are licensed depends on our compliance with the rules and regulations promulgated from time to time by the regulatory authorities in each of these jurisdictions. Furthermore, we are routinely subject to periodic state examinations, audits and investigations of the affairs of insurance companies and agencies, any of which could result in the expenditure of significant management time or financial resources.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Generally, such authorities are vested with relatively broad discretion to grant, renew and revoke licenses and approvals and to implement and interpret rules and regulations. Accordingly, we may be precluded or temporarily suspended from carrying on some or all of the activities of our insurance business or otherwise be fined or penalized. No assurances can be given that our insurance business can continue to be conducted in any given jurisdiction as it has been conducted in the past or that we will be able to expand our insurance business in the future.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If we are unable to deliver effective customer service and/or effectively maintain and promote our brands, it could harm our relationships with our existing customers and adversely affect our ability to attract new customers and our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our business depends, in part, on our ability to satisfy our customers, both by providing software solutions that address their business needs, and by providing onboarding services and ongoing customer service. Once our software solutions are deployed, our customers depend on our customer service organization to resolve technical issues relating to their use of our solutions. As we do not separately charge our customers for support services, increased demand for our support services would increase costs without corresponding revenue, which could adversely affect our operating results. Further, our sales process is highly dependent on the ease of use of our software solutions, our reputation and positive recommendations from our existing customers. Any failure to maintain high-quality or responsive customer service, or a market perception that we do not maintain high-quality or responsive customer service, could harm our reputation, cause us to lose customers and adversely impact our ability to sell our software solutions to prospective customers. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We believe that maintaining and promoting our brands is critical to achieving widespread awareness and acceptance of our software solutions, and maintaining and expanding our customer base. We also believe that the importance of brand recognition will increase as competition in the real estate vertical increases. If we do not continue to build awareness of our brands, we could be placed at a competitive disadvantage as compared to companies whose brands are, or become, more recognizable than ours. Maintaining and promoting our brands will depend, in part, on our ability to continue to provide new and innovative core functionality and Value+ services and best-in-class customer service, as well as the effectiveness of our sales and marketing efforts. If we fail to deliver products and functionality that address our customers&#8217; business needs, or if we fail to meet our customers&#8217; expectations for customer service, it could weaken our brands and harm our reputation. Maintaining and enhancing our brands may require us to make substantial investments, and these investments may not result in commensurate increases in our revenue. If we fail to successfully maintain and promote our brands, or if we make investments that are not offset by increased revenue, our operating results could be adversely affected.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Failure to protect our intellectual property rights could impair our ability to protect our proprietary technology and our brands, which could harm our business.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We currently rely on patent, trademark, copyright and trade secret laws, trade secret protection and confidentiality or license agreements with our employees, customers, partners and others to protect our intellectual property rights. Our success and ability to compete depend, in part, on our ability to continue to protect our intellectual property, including our proprietary technology and our brands. If we are unable to protect our proprietary rights adequately, our competitors could use the intellectual property we have developed to enhance their own products and services, which could harm our business. In order to monitor and protect our intellectual property rights, we may be required to expend significant resources. Litigation brought to protect and enforce our intellectual property rights could be costly, time-consuming and distracting to management, and could result in the impairment or loss of portions of our intellectual property or require us to pay costly royalties. Furthermore, our efforts to enforce our intellectual property rights may be met with defenses, counterclaims and countersuits attacking the validity and enforceability of our intellectual property rights. Accordingly, we may not be able to prevent third parties from infringing upon or misappropriating our intellectual property. Our failure to secure, protect and enforce our intellectual property rights could adversely affect our business and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We may be sued by third parties for alleged infringement of their proprietary rights, which could cause us to incur significant expenses and require us to pay substantial damages.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our success depends, in part, on our not infringing upon the intellectual property rights of others. Our competitors, as well as a number of other entities and individuals, may legally own or claim to own intellectual property relating to our technology or software solutions, including without limitation technology we develop and build internally and/or acquire. From time to time, our competitors or other third parties may claim that we are infringing upon their intellectual property rights. Any claims or litigation, regardless of merit, could cause us to incur significant expenses and, if successfully asserted against us, could require that we pay substantial damages, settlement costs or ongoing royalty payments, require that we comply with other unfavorable license and other terms, or prevent us from offering our software solutions in their current form. Even if the claims do not result in litigation or are resolved in our favor, these claims, and the time and resources necessary to resolve them, could divert the attention of our management and key personnel from our business operations and harm our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our software solutions contain both third-party and open source software, which may pose risks to our proprietary source code and/or introduce security vulnerabilities, and could have a negative impact on our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We use open source software in our software solutions and expect to continue to do so in the future. The terms of many open source licenses to which we are subject have not been interpreted by United States or foreign courts, and there is a risk that open source licenses could be construed in a manner that imposes unanticipated conditions, restrictions or costs on our ability to provide or distribute our software solutions. Additionally, we may from time to time face claims from third parties alleging ownership of, or demanding release of, the open source software or of derivative works that we developed using such software, which could include our proprietary source code, or otherwise seeking to enforce the terms of the applicable open source license. These claims could result in litigation, which could be costly for us to defend, and could require us to make our source code freely available, purchase a costly license or cease offering the implicated functionality unless and until we can re-engineer them to avoid infringement. This re-engineering process could require significant additional research and product development resources, and we may not be able to complete it successfully or in a timely manner. In addition to risks related to license requirements, usage of certain open source software can lead to greater risks than use of third-party commercial software, as open source licensors generally do not provide warranties or controls on the origin of software. We also use third-party commercial software in our software solutions and expect to continue to do so in the future. Third-party commercial software is developed outside of our direct control and may introduce security vulnerabilities that may be difficult to anticipate or mitigate. Further, there is no guarantee that third-party software developers or open source software providers will continue active work on the third-party software that we use. Should development of in-use third-party software cease, significant engineering effort may be required to create an in-house solution. These risks could also be difficult to eliminate or manage, and could have a negative impact on our business and operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">There are risks associated with potential future indebtedness that may adversely affect our financial condition and future financing agreements may contain restrictive operating and financial covenants.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We may incur additional indebtedness in the future and/or enter into new financing arrangements. Our ability to meet expenses, to remain in compliance with the covenants under any future debt instruments, and to pay fees, interest and principal on our indebtedness will depend on, among other things, our operating performance and market conditions. Accordingly, our cash flow may not be sufficient to allow us to pay principal and interest on future indebtedness and meet our other business and customer obligations.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our ability to use our net operating loss carryforwards and certain other tax attributes may be limited.</span></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December&#160;31, 2020, we had state net operating loss carryforwards of $46.5&#160;million, which will begin to expire in 2028. At December&#160;31, 2020, we also had federal and state research and development credit carryforwards of $4.1&#160;million and $11.5&#160;million, respectively. The federal credit carryforwards will begin to expire in 2040, while the state credit carryforwards apply indefinitely. Under Section 382 of the Internal Revenue Code of 1986, as amended, if a corporation undergoes an &#8220;ownership change,&#8221; the corporation&#8217;s ability to use its pre-change net operating loss carryforwards and other pre-change tax attributes, such as research tax credits, to offset its post-change income and taxes may be limited. In general, an &#8220;ownership change&#8221; occurs if there is a cumulative change in our ownership by &#8220;5% shareholders&#8221; that exceeds 50% over a rolling three-year period. Similar rules may apply under state tax laws. It is possible that our existing net operating loss and/or credit carryforwards may be subject to limitations arising from previous ownership changes, and future issuances of our stock could cause an ownership change. Furthermore, our ability to utilize net operating loss and/or credit carryforwards of companies that we have acquired or may acquire in the future may be subject to limitations. There is also a risk that due to legislative changes, such as suspensions on the use of net operating loss carryforwards, or other unforeseen reasons, our existing net operating loss carryforwards could expire or otherwise be unavailable to offset future income tax liabilities. </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Our business may be adversely affected by developments in the global economy, including if we seek to expand our sales to customers outside of the United States. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">To date, we have realized an immaterial amount of revenue from customers outside the United States. We may nonetheless be affected by economic, regulatory or other developments in the global economy or particular countries, such as China, because certain of our customers&#8217; businesses may be based in or have significant ties to international jurisdictions.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">This may, for example, affect our ability to meet customer requirements in a cost-effective manner or the ability of our customers to expand their relationships with us.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Furthermore, to the extent that we seek to expand our operations to international markets, such expansion will require significant resources and management attention and will subject us to additional regulatory, economic, geographic and political risks. Because of our limited experience with international operations and significant differences between the United States and international markets, any international expansion efforts may not be successful in creating demand for our software solutions outside of the United States or in effectively selling our software solutions in any international markets we may enter. The significant disruptions caused by the COVID-19 pandemic, especially in certain countries in the European Union and Asia, could have a prolonged negative impact on our ability to expand our sales to customers outside the United States. If we invest substantial time and resources to expand our international operations and are unable to do so successfully, our business and operating results could suffer.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Risks Related to Our Class A Common Stock</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The market price of our Class A common stock may be volatile or may decline regardless of our operating performance, which could result in substantial losses for our stockholders.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The market price of our Class A common stock has been, and is likely to continue to be, highly volatile, and fluctuations in the price of our Class A common stock could cause you to lose all or part of your investment. There are a wide variety of factors, many of which are outside our control, that could cause fluctuations in the market price of our Class A common stock and, in the past, following periods of volatility in the overall market and the market price of a particular company&#8217;s securities, securities class action litigation has often been instituted against these companies. If instituted against us, any such litigation, regardless of its merit or final outcome, could result in substantial costs and a diversion of our management&#8217;s attention, thereby adversely affecting our operating results and/or the price of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">The dual class structure of our common stock concentrates voting control with a limited number of stockholders, including our executive officers, directors and principal stockholders, effectively limiting your ability to influence corporate matters.</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our Class B common stock has 10 votes per share, and our Class A common stock has one vote per share. As of December&#160;31, 2020, the holders of the outstanding shares of our Class B common stock, including our executive officers, directors, and principal stockholders, collectively held approximately 90% of the combined voting power of our outstanding capital stock. Because of the 10-to-1 voting ratio between our Class B common stock and Class A common stock, the holders of our Class B common stock collectively control a majority of the combined voting power of our outstanding capital stock and therefore control the election of a majority of our directors and thereby have the power to control our affairs and policies, including the appointment of management and strategic decisions, as well as matters that are submitted to a vote by our holders of our common stock.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The interests of our principal stockholders may be inconsistent with or adverse to those of holders our Class A common stock. This concentrated control may also have the effect of delaying, deterring or preventing a change-in-control transaction, depriving our stockholders of an opportunity to receive a premium for their capital stock or negatively affecting the market price of our Class A common stock. In addition, transfers by holders of our Class B common stock will generally result in those shares converting to Class A common stock, subject to limited exceptions. The conversion of our Class B common stock to Class A common stock will have the effect, over time, of increasing the relative voting power of the holders of our Class B common stock who retain their shares over the long term.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We cannot predict the impact that our capital structure may have on our stock price.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">S&amp;P Dow Jones, a provider of widely followed stock indices, has announced that companies with multiple classes of stock will not be eligible for inclusion in certain of their indices. As a result, our Class A common stock will not be eligible for those stock indices. Additionally, FTSE Russell, another provider of widely followed stock indices, requires new constituents of its indices to have at least five percent of their voting rights in the hands of public stockholders. Many investment funds are precluded from investing in companies that are not included in such indices, and these funds would be unable to purchase our Class A common stock. Exclusion from these and other indices could make our Class A common stock less attractive to investors and, as a result, the market price of our Class A common stock could be adversely affected. In addition, several shareholder advisory firms have announced their opposition to the use of multiple class structures. As a result, shareholder advisory firms may publish negative commentary about our corporate governance practices or otherwise seek to cause us to change our capital structure. Any actions or publications by shareholder advisory firms critical of our corporate governance practices or capital structure could also adversely affect the value of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Future sales of shares of our Class A common stock, or the perception that these sales could occur, could depress the market price of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Sales of a substantial number of shares of our Class A common stock in the public market, or the perception that these sales might occur, could cause the market price of our Class A common stock to decline or make it more difficult for you to sell your Class A common stock at a time and price that you deem appropriate, and could impair our ability to raise capital through the sale of additional equity securities. We are unable to predict the effect that sales, or the perception that our shares may be available for sale, will have on the prevailing market price of our Class A common stock. As of December&#160;31, 2020, we had an aggregate of 1.2 million options outstanding that, if fully exercised, would result in the issuance of additional shares of Class A common stock or Class B common stock, as applicable. Our Class B common stock converts into Class A common stock on a one-for-one basis. In addition, as of December&#160;31, 2020, we had 0.5 million RSUs, outstanding which, if fully vested and settled in shares, would result in the issuance of additional shares of Class A common stock. All of the shares of Class A common stock issuable upon the exercise of options (or upon conversion of shares of Class B common stock issued upon the exercise of options), or upon the vesting and settlement of RSUs, have been registered for public resale under the Securities Act. Accordingly, these shares will be able to be freely sold in the public market upon issuance. In addition, certain holders of our Class A common stock and Class B common stock have rights, subject to certain conditions, to require us to file registration statements for the public resale of such shares (in the case of Class B common stock, the Class A common stock issuable upon conversion of such shares) or to include such shares in registration statements that we may file for us or other stockholders. Any sales of securities by these stockholders could have a material adverse effect on the market price of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">We do not expect to declare any dividends in the foreseeable future and may repurchase stock in accordance with our Share Repurchase Program.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have never declared, and we do not anticipate declaring or paying, any cash dividends to holders of our Class A common stock in the foreseeable future. In addition, the terms of our future borrowing arrangements we may enter into from time to time may restrict our ability to pay dividends. Consequently, investors may need to rely on sales of our Class A common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investment. </span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Price appreciation, which may never occur, may be further impacted by repurchases of our shares in accordance with our Share Repurchase Program. Repurchases of our shares could increase the volatility of the trading price of our shares, which could have a negative impact on the trading price of our shares. Similarly, the future announcement of the termination or suspension of the Share Repurchase Program, or our decision not to utilize the full authorized repurchase amount under the Share Repurchase Program, could result in a decrease in the trading price of our shares. In addition, the Share Repurchase Program could have the impact of diminishing our cash reserves, which may impact our ability to finance our growth, complete acquisitions and execute our strategic plan. For additional information regarding our Share Repurchase Program, refer to Note 12, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Stockholders' Equity</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, of our Consolidated Financial Statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">General Risk Factors</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Anti-takeover provisions contained in our amended and restated certificate of incorporation and amended and restated bylaws, as well as provisions of Delaware law, could impair a takeover attempt.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our amended and restated certificate of incorporation and our amended and restated bylaws contain provisions that could have the effect of rendering more difficult hostile takeovers, change-in-control transactions or changes in our Board of Directors or management. Among other things, these provisions authorize the issuance of preferred stock with powers, preferences and rights that may be senior to our common stock, provide for the adoption of a staggered three-class Board of Directors, prohibit our stockholders from filling vacancies on our Board of Directors or calling special stockholder meetings, require the vote of at least two-thirds of the combined voting power of our outstanding capital stock to approve amendments to our certificate of incorporation or bylaws, and require the approval of the holders of at least a majority of the outstanding shares of our Class B common stock voting as a separate class prior to consummating a change-in-control transaction. As a Delaware corporation, we are also subject to provisions of Delaware law, including Section 203 of the Delaware General Corporation </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Law, which may delay, deter or prevent a change-in-control transaction. Section 203 imposes certain restrictions on mergers, business combinations and other transactions between us and holders of 15% or more of our common stock. Any provision of Delaware law, our amended and restated certificate of incorporation, or our amended and restated bylaws that has the effect of rendering more difficult, delaying, deterring or preventing a change-in-control transaction could limit the opportunity for our stockholders to receive a premium for their shares of our capital stock and could also affect the price that some investors are willing to pay for our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Government regulations and laws are continuously evolving and unfavorable changes could adversely affect our operating results, subject us to litigation or governmental investigation, or otherwise harm our business.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We are subject to general business regulations and laws, as well as regulations and laws specifically governing the highly regulated real estate market, electronic payment, background screening and insurance services markets, the Internet itself, the use of mobile devices to conduct business and communicate, and many other products and services we provide. It is not clear how existing laws governing issues such as property ownership, management, rental and investment, data protection, and personal privacy apply to the Internet, digital content, communication services, web services, and artificial intelligence technologies and services. Unfavorable regulations, laws, and administrative or judicial decisions interpreting or applying those laws and regulations could diminish the demand for, or availability of, our products and services, subject us to litigation or governmental investigation and increase our cost of doing business, any of which may adversely affect our operating results. In addition, the application of federal, state, local and foreign tax laws to services provided electronically is continuously evolving. New income, sales, use or other tax laws, statutes, rules, regulations or ordinances could be enacted or amended at any time, possibly with retroactive effect, and could be applied solely or disproportionately to services provided over the Internet. These enactments or amendments could adversely affect our sales activity due to the inherent cost increase such taxes would represent and could ultimately result in a negative impact on our operating results. In addition, existing tax laws, statutes, rules, regulations or ordinances could be interpreted, modified or applied adversely to us, possibly with retroactive effect, which could require us or our customers to pay additional tax amounts, as well as require us or our customers to pay fines or penalties, as well as interest on past amounts. If we are unsuccessful in collecting such taxes due from our customers, we could be held liable for such costs, thereby adversely impacting our operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_19"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1B. &#160;&#160;&#160;&#160;UNRESOLVED STAFF COMMENTS</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;None. </span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_22"></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;PROPERTIES</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our corporate headquarters is located in three adjacent office buildings in Santa Barbara, California. The lease covers approximately 43,700 square feet, 86,000 square feet, and 35,900 square feet, respectively, in the three buildings. These leases expire in February 2032 and may be extended for two additional five-year terms at our election. We also lease office space in a variety of other U.S. cities, most notably Richardson, Texas.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We intend to procure additional space as we add employees and expand our operations geographically. We believe our current facilities are adequate for our current needs and that, should it be needed, suitable additional or alternative space will be available to us to accommodate any such expansion of our operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease all of our facilities and do not own any real property.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_25"></div><div style="margin-top:10pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">LEGAL PROCEEDINGS</span></div><div><span><br/></span></div><div style="margin-bottom:10pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we are involved in various investigative inquiries, legal proceedings and other disputes arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, regulatory and contractual matters. Although the results of such investigative inquiries, legal proceedings and other disputes cannot be predicted with certainty, we believe that we are not currently a party to any matters which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows. However, regardless of the merit of any matters raised or the ultimate outcome, investigative inquiries, legal proceedings and other disputes may generally have an adverse impact on us as a result of defense and settlement costs, diversion of management resources, and other factors.</span></div><div style="margin-bottom:10pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information regarding legal proceedings, refer to Note 11,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Commitments and Contingencies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;of our Consolidated Financial Statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_1677"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 4.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MINE SAFETY DISCLOSURES</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable. </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_31"></div><div style="margin-top:10pt;padding-left:20.25pt;padding-right:20.25pt;text-align:center;text-indent:-45pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II</span></div><div style="padding-left:40.5pt;text-indent:-45pt"><span><br/></span></div><div style="padding-left:40.5pt;text-indent:-45pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 5.  &#160;&#160;&#160;&#160;MARKET FOR REGISTRANT'S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Market for our Common Stock</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Class A common stock began trading publicly on the NASDAQ Global Market under the symbol "APPF" on June 26, 2015. Prior to that date, there was no public trading market for our Class A common stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Class B common stock is not listed or traded on any stock exchange.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Holders of Record</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At February 15, 2021, there were 23 holders of record of our Class A common stock and 78 holders of record of our Class B common stock. Because many of our shares of Class A common stock are held by brokers and other institutions on behalf of stockholders, we are unable to estimate the total number of stockholders represented by these record holders.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Dividend Policy</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid any cash dividends on our capital stock. We do not anticipate declaring or paying any cash dividends to holders of our capital stock in the foreseeable future and intend to retain all future earnings for use in the growth of our business. Consequently, investors may need to rely on sales of our Class&#160;A common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investment. Investors should not purchase our Class&#160;A common stock with the expectation of receiving cash dividends.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Performance Graph</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following performance graph compares the cumulative total return on our Class A common stock with that of the S&amp;P 500 Index and the NASDAQ Computer Index. This chart assumes $100 was invested in our Class A common stock at the close of market on December 31, 2015, and in the S&amp;P 500 Index and the NASDAQ Computer Index, and assumes the reinvestment of any dividends. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The comparisons in the graph below are based upon historical data and are not indicative of, nor intended to forecast, future performance of our common stock. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:center"><img src="appf-20201231_g1.jpg" alt="appf-20201231_g1.jpg" style="height:480px;margin-bottom:5pt;vertical-align:text-bottom;width:613px"/><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This performance graph shall not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Exchange Act or incorporated by reference into any of our other filings under the Securities Act or the Exchange Act, except as shall be expressly set forth by specific reference in such filing.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Unregistered Sales of Equity Securities and Purchases of Equity Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:174%">None.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_34"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 6. &#160;&#160;&#160;&#160;SELECTED FINANCIAL DATA</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present our historical selected consolidated financial data for the periods indicated. We have derived the selected Consolidated Statements of Operations data for the fiscal years ended December&#160;31, 2020, 2019 and 2018 and the selected Consolidated Balance Sheet data at December&#160;31, 2020 and 2019 from our audited Consolidated Financial Statements included elsewhere in this Annual Report. We have derived the selected Consolidated Statements of Operations data for the fiscal years ended December&#160;31, 2017 and 2016 and the selected Consolidated Balance Sheet data at December 31, 2018, 2017 and 2016 from our audited Consolidated Financial Statements, which are not included in this Annual Report. Our historical results are not necessarily indicative of the results we expect in the future. </span></div><div style="margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following historical selected consolidated financial data should be read in conjunction with, and are qualified in their entirety by reference to, the section of this Annual Report entitled &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; and our Consolidated Financial Statements and the related notes included elsewhere in this Annual Report.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.268%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"> (3)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2017</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2016</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="27" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(in thousands, except per share data)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Consolidated Statements of Operations Data:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">310,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,012&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,071&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,586&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,029&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,642&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,549&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,283&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,630&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,445&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,528&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,288&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,709&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,827&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,529&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,508&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,111&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,578&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,638&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,480&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,478&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,891&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,199&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,979&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,790&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,395&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,576&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,699&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,935&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs and operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300,273&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249,551&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">170,415&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134,468&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,009&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income (loss) from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,783&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,461&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,656&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,335&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,423)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,897&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(96)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(37)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest (expense) income, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,849)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,654)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">787&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">535&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">246&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income (loss) before provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196,831&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,823&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,387&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,774&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,214)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,428&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,459)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,403&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,282&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,716&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,281)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.07&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.59&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.29&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.44&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.02&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.56&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.25)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,016&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,128&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,849&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,713&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,567&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,151&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,561&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="30" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> MyCase was divested on September 30, 2020. The results of MyCase have been included in our results of operations through the date of divestiture. Refer to Note 3,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"> Divestitures and Business Combinations </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">of our Consolidated Financial Statements included elsewhere in this Annual Report for additional information regarding this transaction.</span></div></td></tr><tr><td colspan="30" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> We acquired Dynasty on January 7, 2019. The results of Dynasty have been included in our results of operations from the date of acquisition. Refer to Note 3,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"> Divestitures and Business Combinations </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">of our Consolidated Financial Statements included elsewhere in this Annual Report for additional information regarding this transaction.</span></div></td></tr><tr><td colspan="30" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> We acquired WegoWise on August 31, 2018. The results of WegoWise have been included in our results of operations from the date of acquisition. </span></div></td></tr><tr><td colspan="30" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> The following table presents stock-based compensation expense included in each respective expense category:</span></div></td></tr></table></div><div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.268%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2017</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2016</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Stock-based compensation expense included in costs and operating expenses: </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,506&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,103&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">725&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,271&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">723&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">442&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,818&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,079&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">657&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">382&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,286&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,161&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,991&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,006&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,025&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,309&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,337&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,096&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,301&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.268%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2017</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2016</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Consolidated Balance Sheet Data:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents and investment securities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,289&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,778&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,963&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,310&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,860&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,459&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,023&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,485&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,609&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,539&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">389,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">260,102&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,741&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,248&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,583&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,262&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,586&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,414&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,638&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,991&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,138&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current and long-term debt, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,583&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,815&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285,920&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,950&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,846&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,079&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,682&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_37"></div><div style="margin-top:10pt;padding-left:63pt;text-indent:-63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 7. &#160;&#160;&#160;&#160;MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS </span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The following discussion and analysis of our financial condition and results of operations should be read together with our Consolidated Financial Statements and the related notes included elsewhere in this Annual Report. This discussion and analysis contains forward-looking statements that are based on our current expectations and reflect our plans, estimates and anticipated future financial performance. These statements involve numerous risks and uncertainties, including those related to the anticipated impact on our business from, and our response to, the COVID-19 pandemic. Our actual results may differ materially from those expressed or implied by these forward-looking statements as a result of many factors, including those set forth in the section of this Annual Report entitled "Risk Factors". See the section of this Annual Report entitled &#8220;Cautionary Note Regarding Forward-Looking Statements&#8221; for additional information. </span></div><div style="text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The following discussion and analysis of our financial condition and results of operations discusses 2020 and 2019 items and year-over-year comparisons between 2020 and 2019. For discussion of 2018 items and year-over-year comparisons between 2019 and 2018, refer to Part II. Item 7. &#8220;Management's Discussion and Analysis of Financial Condition and Results of Operations&#8221; of our Annual Report on Form 10-K for the year ended December&#160;31, 2019.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_40"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide innovative software, services and data analytics to customers in the real estate industry. Our industry-specific, cloud-based solutions are used primarily by property managers, and also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our property management solutions and services provides our customers with a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and a variety of users and a system of intelligence designed to leverage data to predict and optimize business workflows to increase efficiency across our customers' businesses. Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2008, we introduced APM, a property management solution designed to address the unique operational and business requirements of property management companies and their business ecosystems. Recognizing that our customers and their business ecosystems would benefit from additional business critical services, we launched a series of Value+ services beginning in 2009. Our Value+ services are tailored to the specific workflows of property management businesses and generally fall into the categories of marketing and leasing, electronic payment services, business optimization and risk mitigation. In 2018, we introduced APM PLUS, a tier of APM designed for larger businesses with more complex needs. APM PLUS builds upon the functionality of APM and additionally offers data analytics, configurable workflows, and revenue management and optimization functionality for our customers. In April 2019, we launched AppFolio Investment Management, which is designed to enable real estate investment managers to better manage their investor relationships by increasing transparency and streamlining certain business processes. We do not separately break out customer information at this time.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">APM and APM PLUS serve our property management customers, including third-party property managers and owner operators, who typically manage single- and multi-family residential, and others who manage community association, and commercial properties. Our solutions and services also serve other constituencies in the property management market, including property owners, rental prospects, tenants and service providers. Revenue generated from each customer varies based on the type of property, the number of units under management, and the level of adoption and utilization of Value+ services by the customer and users. Revenue per unit generated from each customer typically varies based on the type of property and the level of adoption and utilization of Value+ services by the customer and users. For example, revenue generated per community association unit, which represent a growing percentage of our overall units, is lower than revenue generated per residential unit given the unique and complex needs of the residential rental lifecycle and resulting impact on the adoption and utilization of V+ services.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Property management customer count and property management units under management are presented in the table below. We define property management customers as those paying for a subscription to our core solutions. </span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:19.076%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.978%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.184%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Quarter Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Property management customers</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,724&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,352&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,011&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,729&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,385&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,034&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,737&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,409&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Property management units under management (in millions)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.94&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.64&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.23&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.08&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, we have experienced rapid revenue growth due to strong relationships with our customers, our investments in research and product development, sales and marketing, customer service and support, and infrastructure. We have invested, and intend to continue to invest, in our business to capitalize on our market opportunity by working closely with our customers, prospects, partners and other industry participants to inform our product strategy. Over the long-term, these investments are expected to continue to increase our costs and operating expenses on an absolute basis. Many of these investments will occur in advance of our realization of revenue or any other benefit, which will make it difficult to determine if we are allocating our resources effectively and efficiently. We expect our operating margins will improve over the long-term, but this trend may be interrupted from time to time as a result of accelerated investment opportunities occurring in advance of realization of revenue.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We rely heavily on our talented team of employees to execute our growth plans and achieve our long-term strategic objectives. We believe our people are at the heart of our success and our customers' success, and we have worked hard not only to attract and retain talented individuals, but also to provide a challenging and rewarding environment to motivate and develop our valuable human capital. Beginning in March 2020, in an effort to protect our employees and comply with applicable government orders, we transitioned our employees to a remote work environment and restricted non-essential employee travel. We currently expect the majority of our employees will continue working remotely at least through the second quarter of 2021. Our workforce has continued to effectively develop and support our software and services offerings notwithstanding the current environment. We take the health and welfare of our people very seriously, and have encouraged safe practices designed to stem the infection and spread of COVID-19 within our workforce and beyond and to maintain the mental health and well-being of our employees. However, if the COVID-19 pandemic requires remote working conditions for a prolonged period of time, it could have an adverse impact on the productivity of our employees, which would harm our business and impede our ability to achieve our strategic objectives. For example, certain employees with younger children have been required to respond to ongoing school closures and adapt to a distance learning environment, and may be required to continue to do so for the foreseeable future. Furthermore, we have a limited history of remote work and the long-term impact on, and the resulting types of continuing investments necessary for, our employee base is uncertain.&#160;&#160;&#160;&#160;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, the COVID-19 pandemic may have long-term effects on the nature of the office environment and remote working. This may present operational and workplace culture challenges that may adversely affect our business. However, we are committed to our employees returning to the workplace in the long-term, and have recently constructed a new office space in Santa Barbara, California, extended the lease for our office in Richardson, Texas and are seeking new office space to lease in San Diego, California to accommodate our employees' return to the workplace in the future. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We began fiscal year 2020 with healthy demand for our core solutions and Value+ services, many of which are designed to enable our customers to manage their businesses virtually. During the twelve months ended December 31, 2020, we experienced some variability in demand for certain Value+ services after lock-down measures were implemented. We expect demand variability could continue as a result of the COVID-19 pandemic, although it is presently unclear whether the cumulative impacts will be positive or negative. </span></div><div style="margin-bottom:3pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During certain periods covered by this Annual Report, we also provided software solutions and services to the legal vertical. As previously disclosed, we completed our divestiture of MyCase, Inc. on September 30, 2020. In connection with the MyCase Transaction, our Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the sale and extinguished. For additional details, see Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> and Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures and Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> of our Consolidated Financial Statements in this Annual Report. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_43"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Components of Results of Operations</span></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core solutions and certain of our Value+ services are offered on a subscription basis. Our core solutions subscription fees vary by property type and are designed to scale to the size of our customers&#8217; businesses. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available. We generally invoice monthly or annually in advance of the subscription period. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also offer Value+ services that are not covered by subscription fees on per use basis. Usage-based fees are charged on a flat fee per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our usage-based services on a monthly basis or collect the fee at the time of service. A significant majority of our Value+ services revenue comes directly and indirectly from the use of our electronic payment services, tenant screening services, and insurance services. Usage-based fees are paid both by customers and users in our customers' business ecosystems. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers for on-boarding assistance to our core solutions and certain other non-reoccurring services. We generally invoice for these other services in advance of the services being completed and recognize revenue upon completion of the related service. We generate revenue from RentLinx, WegoWise, and Dynasty standalone customers by providing services outside of our property management core solution platform. Revenue derived from these services is recorded in Other revenue. </span></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Costs and Operating Expenses</span></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cost of Revenue</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Many of our Value+ services are facilitated by third-party service providers. Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Sales and Marketing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Research and Product Development.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General and Administrative.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Depreciation and Amortization.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Income (Expense), Net. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net includes gains and losses associated with the sale of businesses, property and equipment and investment securities and income from certain post-closing transition services to be provided by us to MyCase in connection with the MyCase Transaction. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest Expense, Net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Interest expense includes interest paid on any outstanding borrowings. Interest income includes interest earned on investment securities, amortization and accretion of the premium and discounts paid from the purchase of investment securities, and interest earned on notes receivable and on cash deposited in our bank accounts. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Provision for (Benefit from) Income Taxes. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision for (benefit from) income taxes consists of federal and state income taxes in the United States.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_46"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">Results of Operations for the Years Ended December&#160;31, 2020 and 2019 </span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our results of operations for the periods presented in dollars (in thousands) and as a percentage of revenue: </span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:62.923%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.857%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.682%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.857%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.979%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Consolidated Statements of Operations Data:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">310,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,012&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,029&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,642&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,445&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,528&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and product development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,529&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,508&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,480&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,478&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,790&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,395&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total costs and operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300,273&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249,551&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,783&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,461&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,897&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest expense, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,849)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,654)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before provision for (benefit from) income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196,831&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,823&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,428&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,459)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12.3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,403&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,282&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-indent:22.5pt"><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">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">The following table presents stock-based compensation expense included in each respective expense category:</span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:80.278%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.844%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.845%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense included in costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,506&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,466&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,271&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,818&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,286&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,161&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,025&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,309&#160;</span></td><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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:15pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.356%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.993%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,938&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,581&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,357&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value+ services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,146&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,994&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,152&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">535&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">310,056&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,012&#160;</span></td><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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,044&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue derived from our software and solutions offered to the real estate vertical for the years ended December 31, 2020 and 2019 was $284.7&#160;million and $231.1&#160;million, respectively, an increase of $53.6 million, or 23%. This increase was primarily attributable to the growth in the number of property management customers and units under management utilizing our software and services. The remaining revenue was attributed to our legacy legal vertical.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Core solutions revenue derived from our real estate vertical for the years ended December 31, 2020 and 2019 was $86.5 million and $72.6 million, respectively, an increase of $13.9 million or 19%. Value+ services revenue derived from our real estate vertical for the years ended December 31, 2020 and 2019 was $184.2 million and $145.2 million, respectively, an increase of $39.1 million or 27%. The increase in core solutions and Value+ services revenue was mainly attributable to growth in our base of property management customers and growth in users of our subscription and usage-based services. During this period we experienced growth of 17% in the average number of property management units under management resulting from 10%&#160;growth in the average number of property management customers during the period.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our electronic payment services experienced increased demand during the current year as residents, property managers, owners and customers transacted more business online, which we attribute in part to the response to the COVID-19 pandemic. It is unclear whether the trend will continue over the long-term. During the comparative period, we also introduced new Value+ services and expanded the functionality of others, which resulted in incremental revenue. A significant majority of our Value+ services revenue comes directly and indirectly from the use of our electronic payment services, tenant screening services, and the insurance services we make available to customers.</span></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue (Exclusive of Depreciation and Amortization)</span></div><div style="margin-bottom:5pt;margin-top:17pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.771%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.992%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,029&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,642&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation, included above</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,506&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue related to our software and solutions offered to the real estate vertical for the years ended December 31, 2020 and 2019 was $109.7 million and $93.0 million, respectively, an increase of $16.7 million, or 18%. This increase was primarily attributable to increased costs associated with servicing the incremental $53.6 million in revenue over the same period, partially offset by third-party service provider incentives earned of $2.0 million. The remaining cost of revenue was attributed to our legacy legal vertical.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expenditures to third-party service providers related to the delivery of our Value+ services to the real estate vertical increased $6.9 million, which was directly associated with the increased adoption and utilization of our Value+ services, as evidenced by the $39.1 million increase in Value+ services revenue to the real estate vertical. Partially offsetting this increase was $2.0 million of annual maximum incentives earned during the period from third-party service providers related to programs intended to increase adoption and utilization of online payments. Personnel-related costs, including performance-based compensation, necessary to support growth and key investments, increased $7.8 million. Allocated shared costs increased by $2.1 million primarily driven by an increase in platform infrastructure costs, partially offset by a reduction of allocated expenses attributed to a decrease in workplace-related and other expenditures in response to the impact of the COVID-19 pandemic.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a percentage of revenue, cost of revenue (exclusive of depreciation and amortization) fluctuates primarily based on the mix of Value+ services revenue in the period, given the varying percentage of revenue we pay to third-party service providers, and investments made in advance of expected revenue generation.&#160;Excluding the third-party service provider incentives earned during the period, cost of revenue (exclusive of depreciation and amortization), as a percentage of revenue decreased to&#160;39.2%&#160;from&#160;40.2%. This decrease in cost as a percentage of revenue was primarily driven by the mix of Value+ services revenue with varying underlying costs. </span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Marketing</span></div><div style="margin-bottom:5pt;margin-top:17pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.356%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.993%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,445&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,528&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,917&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation, included above</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,271&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expense related to our software and solutions offered to the real estate vertical for the years ended December 31, 2020 and 2019 was $52.5 million and $44.5 million, respectively, an increase of $8.0 million, or 18%. This increase was primarily due to a $6.7 million increase in personnel-related costs, including performance-based compensation, necessary to support growth and key investments in the business. Advertising and promotion costs increased by $2.4 million due to increased online advertising and virtual marketing events aimed at increasing revenue and supporting growth in the business. In addition, there was a decrease in allocated and other costs of $1.1 million related to the elimination of event-related travel from cancelled or postponed events and the reduction of workplace-related and other non-essential expenditures in response to the impact of the COVID-19 pandemic.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a percentage of revenue, sales and marketing expense decreased to&#160;18.4%&#160;from&#160;19.2%&#160;for fiscal 2020&#160;compared to fiscal 2019. This leverage in cost as a percentage of revenue was primarily driven by the reduction of event related travel and other non-essential expenditures as a result of the COVID-19 pandemic. Notwithstanding the leverage in cost as a percentage of revenue, we intend to continue to invest in sales and marketing to increase our customer base and increase the adoption and utilization of Value+ services over time.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Product Development</span></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.993%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,529&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,508&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,021&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation, included above</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,818&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">407&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and product development expense related to our software and solutions offered to the real estate vertical for the years ended December 31, 2020 and 2019 was $43.8 million and $34.0 million, respectively, an increase of $9.8 million, or 29%. This increase was the result of an increase in personnel-related costs, net of capitalized software development costs, of $11.3 million due to investments in headcount growth within our research and product development organization. This increase was partially offset by a decrease in allocated and other costs of $1.4 million primarily related to the reduction of workplace-related and other non-essential expenditures in response to the impact of the COVID-19 pandemic.</span></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative</span></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,478&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation, included above</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,286&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,161&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,125&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense related to our software and solutions offered to the real estate vertical and general corporate overhead expenses for the years ended December 31, 2020 and 2019 was $46.1 million and $33.4 million, respectively, an increase of $12.7 million, or 38%. The increase in general and administrative expense was primarily due to a $7.4 million increase in personnel-related costs, including performance-based compensation, due to investments in headcount growth within our general and administrative organizations. In addition, there was a $4.3 million legal settlement expense recorded during the current period related to our compliance with certain regulations in our tenant screening business. For additional information regarding this legal settlement, refer to Note 11, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Commitments and Contingencies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, of our Consolidated Financial Statements. There was also an increase in professional services fees and other costs of $2.3 million related to the MyCase Transaction. Allocated and other costs decreased $1.4 million primarily due to the reduction of workplace-related and other non-essential expenditures in response to the impact of the COVID-19 pandemic.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect stock-based compensation expense will continue to decrease for certain executives in light of our adoption of the Long-Term Cash Bonus Plan in 2018. No accrual has yet been made under this plan as a result of the high degree of uncertainty regarding potential future payments under the plan.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Depreciation and Amortization</span></div><div style="margin-bottom:5pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,790&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,395&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,395&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.7&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expense related to our software and solutions offered to the real estate vertical for the years ended December 31, 2020 and 2019 was $25.0 million and $20.0 million, respectively, an increase of $5.0 million, or 25%. This increase in depreciation and amortization expense was primarily due to increased amortization expense associated with higher accumulated capitalized software development balances. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Income, net</span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income, net</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,897&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*Percentage not meaningful</span></div><div style="margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The increase in other income, net was primarily due to the gain of $187.7&#160;million associated with the MyCase Transaction. Additionally, there was $1.1 million in other income recorded during the fourth quarter of fiscal 2020 related to certain post-closing transition services provided to MyCase. </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Provision for (Benefit from) Income Taxes</span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,428&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,459)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,887&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12.3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*Percentage not meaningful</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, we recorded income tax expense of $38.4 million. </span><span style="color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tax provision for the year ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2020 </span><span style="color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">includes tax expense of $51.3&#160;million relating to the MyCase Transaction which includes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$52.3&#160;million </span><span style="color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of current tax expense on the gain on the sale of MyCase, less a $1.0&#160;million benefit on the reversal of deferred tax liabilities relating to MyCase. For tax purposes, we plan to file an election to treat the transaction as a sale of assets. As such, the tax impact takes into consideration the tax basis of the assets on the date of sale and the availability of net operating losses and research and development tax credits.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to state income taxes and the benefits associated with stock-based compensation expense and research and development tax credits.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2019, we recorded an income tax benefit of $31.5 million. During the second quarter of 2019, we evaluated all available positive and negative evidence, including our sustained profitability in 2018 and 2019, and the impact of recent acquisitions and future projections of profitability. As a result, we determined that all of our deferred tax assets were more likely than not to be realized and reversed the valuation allowance against those deferred tax assets accordingly.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_49"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Quarterly Results of Operations </span></div><div style="margin-top:6pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents selected unaudited quarterly consolidated statements of operations data for each of the eight quarters during the years ended December&#160;31, 2020 and December&#160;31, 2019. We have prepared the unaudited quarterly consolidated statements of operations data on a basis consistent with the audited annual Consolidated Financial Statements included elsewhere in this Annual Report. In management's opinion, the financial information in this table reflects all normal and recurring adjustments necessary for the fair statement of this data. This information should be read in conjunction with the Consolidated Financial Statements and related notes included elsewhere in this Annual Report. The results of historical periods are not necessarily indicative of the results for any future periods.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:26.864%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.971%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.831%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.831%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.959%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Quarter Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands, except per share data)</span></td></tr><tr><td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Consolidated Statements of Operations Data:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">72,432&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">84,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">81,043&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">72,495&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">67,362&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">67,935&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">63,624&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">57,091&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization) (1)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">29,905&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">32,752&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">27,411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">28,961&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">26,403&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">25,930&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">25,128&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">24,181&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Sales and marketing (1)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15,328&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13,717&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14,506&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14,441&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12,636&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13,232&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,219&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Research and product development (1)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,735&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13,454&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12,128&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,212&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">10,602&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9,339&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,481&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">General and administrative (1)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,177&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12,946&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14,785&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,572&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9,117&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,955&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,214&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7,039&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6,680&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6,657&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6,414&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6,226&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5,678&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5,415&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5,076&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total costs and operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">75,184&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">80,726&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">74,698&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">69,665&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">67,273&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">63,801&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">61,328&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">57,149&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Loss) income from operations </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(2,752)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,360&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6,345&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,830&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,134&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,296&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(58)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,138&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">187,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">84&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Interest income (expense), net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(853)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(562)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(494)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(330)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(400)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(427)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(497)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Loss) income before (benefit from) provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,554)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">190,254&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5,773&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,358&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(157)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,723&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,813&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(556)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Benefit from) provision for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,041)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">52,578&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(13,484)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">375&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(4,585)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,255)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(21,338)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(4,281)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net (loss) income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(513)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">137,676&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">19,257&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,428&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,978&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">23,151&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,725&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net (loss) income per common share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.01)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4.01&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.56&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.06&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.13&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.15&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.11&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.01)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3.86&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.54&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.06&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.12&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.14&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.65&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="padding-left:24.75pt;text-align:justify;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> The following table presents stock-based compensation expense included in each respective expense category:</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:27.492%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.844%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.844%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.969%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Quarter Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Stock-based compensation expense included in costs and operating expenses:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">408&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">520&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">126&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">334&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">415&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">367&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">477&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">225&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">367&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">354&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">302&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">248&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Research and product development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">470&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">474&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">580&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">294&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">353&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">363&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">308&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">993&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,803&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">314&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">731&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,151&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">607&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">672&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total stock-based compensation expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,217&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,096&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,753&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">959&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,878&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,192&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,687&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,552&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:24.75pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents selected consolidated statements of operations data for the specified periods as a percentage of our revenue for those periods: </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:26.279%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.124%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.099%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.831%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.538%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.957%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Quarter Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">December 31,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">September 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">June 30,</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:100%">March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Consolidated Statements of Operations Data:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">41.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">39.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">33.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">39.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">39.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">38.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">39.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">42.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">21.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">17.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">20.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">21.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">18.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">20.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">19.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Research and product development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">18.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total costs and operating expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">103.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">96.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">92.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">96.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">99.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">93.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">96.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">100.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Loss) income from operations </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(3.8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">223.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Interest income (expense), net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Loss) income before (benefit from) provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(2.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">226.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Benefit from) provision for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">62.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(16.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(6.8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1.8)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(33.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(7.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net (loss) income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">163.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">23.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">36.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Seasonality </span></div><div style="margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We experience limited seasonality in our Value+ services revenue, primarily with respect to certain leasing-related services we provide to our property management customers, including our tenant screening services for rental prospects which also impact electronic payment services revenue. Our property management customers historically have processed fewer applications for rental prospects during the fourth quarter. As a result of this seasonal decline in activity, we have typically experienced overall slower sequential revenue growth or a sequential decline in revenue in the fourth quarter of each of our most recent fiscal years. We expect this seasonality to continue in the foreseeable future. </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_52"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and Cash Equivalents</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal sources of liquidity continue to be comprised of our cash, cash equivalents, and investment securities, as well as cash flows generated from our operations. At December&#160;31, 2020, our cash and cash equivalents and investment securities had an aggregate balance of $175.3 million. During the year ended December&#160;31, 2020, our cash and cash equivalents increased primarily as a result of the proceeds from the MyCase Transaction.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Working Capital</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we had working capital of $149.5 million, compared to working capital of $14.3 million at December&#160;31, 2019. The increase in our working capital was primarily due to an increase in cash and cash equivalents as a result of the net proceeds from the MyCase Transaction, a decrease in other current liabilities due to the payment of contingent consideration related to the Dynasty acquisition, an increase in investment securities-current, an increase in accounts receivable primarily driven by increased usage of our Value+ services, and a decrease in deferred revenue. The increase in our working capital was partially offset by an increase in income taxes payable related to the MyCase Transaction, and increases in accrued expenses, and accrued employee expenses.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Liquidity Requirements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have financed our operations primarily through cash generated from operations. We believe that our existing cash and cash equivalents, investment securities, and cash generated from operating activities will be sufficient to meet our working capital and capital expenditure requirements for at least the next 12 months. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capital Requirements</span></div><div style="margin-bottom:10pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future capital requirements will depend on many factors, including continued market acceptance of our software solutions, changes in the number of our customers, adoption and utilization of our Value+ services by new and existing customers, the timing and extent of the introduction of new core functionality, products and Value+ services, the timing and extent of our expansion into adjacent or new markets, the timing and extent of our investments across our organization, and the impact of the COVID-19 pandemic on the customers we serve and on our business. In addition, we have in the past entered into, and may in the future enter into, arrangements to acquire or invest in new technologies or markets adjacent to those we serve today or entirely new verticals. Furthermore, our Board of Directors has authorized the repurchase of up to $100.0 million of shares of our Class A common stock from time to time, as directed by a committee consisting of three directors. To date, we have repurchased $4.2 million of our Class A common stock under the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Share Repurchase </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Program. For additional information regarding our share repurchase program, refer to Note 12, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stockholders' Equity</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flows</span></div><div style="margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our cash flows for the periods indicated (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:78.341%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.444%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.447%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,299&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,887&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used in) investing activities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">146,511&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(89,874)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash used in financing activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(70,358)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net increase (decrease) in cash and cash equivalents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,452&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(58,259)</span></td><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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Provided by Operating Activities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our primary source of operating cash inflows is cash collected from our customers in connection with their use of our core solutions and Value+ services. Our primary uses of cash from operating activities are for personnel-related expenditures and third-party costs incurred to support the delivery of our software solutions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, cash provided by operating activities was $48.3 million resulting from our net income of $158.4 million, adjusted by the gain related to the MyCase Transaction of $187.7 million, non-cash charges of $68.6 million and a net increase in our operating assets and liabilities of $8.9 million. The non-cash charges primarily consist of a decrease in deferred taxes of $29.0 million, depreciation and amortization costs of $26.8 million, stock-based compensation expense of $9.0 million, and amortization of operating lease right-of-use assets of $3.7 million. The net increase in our operating assets and liabilities was mostly attributable to a $9.4 million increase in other liabilities primarily driven by income taxes payable due to the MyCase Transaction, a $6.9 million increase in accrued expenses which includes a $4.3 million accrual related to legal loss reserves, a $2.8 million increase in accrued employee expenses related to an overall increase in personnel-related costs, and a $0.5 million increase in deferred revenue. These increases were partially offset by a $2.8 million increase in accounts receivable primarily driven by growth of our Value+ services, an increase in prepaid expenses and other current assets of $5.9 million primarily driven by an increase in prepaid expenses to support the growth in our business, an increase in deposits held with a third party related to requirements to maintain collateral for our insurance services, and an increase in deferred costs, and a $0.9 million decrease in accounts payable due to timing of payments.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2019, cash provided by operating activities was $38.9 million resulting from our net income of $36.3 million, adjusted by non-cash charges of $2.4 million and a net increase in our operating assets and liabilities of $0.2 million. The non-cash charges primarily consist of a one-time benefit of $31.5 million related to the release of the valuation allowance for our deferred tax assets, offset by $22.4 million of depreciation and amortization of our property and equipment, intangible assets, and capitalized software development costs, $7.3 million of stock-based compensation and $4.1 million of amortization of operating lease right-of-use ("ROU") assets. The net increase in our operating assets and liabilities was primarily attributable to an increase of&#160;$4.5 million&#160;in accrued employee expenses related to an overall increase in personnel-related costs, a&#160;$1.4 million&#160;decrease in other assets, a $1.2 million increase in other liabilities and a&#160;$1.2 million&#160;increase in deferred revenue. The increase in our operating assets and liabilities was partially offset by a&#160;$4.0 million increase in prepaid expenses and other current assets, a $2.7 million&#160;decrease in operating lease liabilities, and a $2.0 million&#160;increase in accounts receivable primarily driven by the growth in sales of our Value+ services. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Provided by (Used in) Investing Activities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash provided by (used in) investing activities is generally comprised of proceeds from divestitures, purchases, maturities and sales of investment securities, purchases of property and equipment, additions to capitalized software development, and cash paid for business acquisitions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, investing activities provided $146.5 million in cash primarily due to net proceeds from the MyCase Transaction of $191.4 million and the proceeds from maturities and sales of investment securities of $27.3 million and $16.7 million, respectively. These sources of cash were partially offset by purchases of investment securities of $43.9 million, capitalized software development costs of $26.0 million, and capital expenditures of $19.0 million to purchase property and equipment primarily related to the growth and expansion of our headquarters in Santa Barbara, CA, a portion of which was reimbursed through tenant improvement allowances.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2019, investing activities used $89.9 million in cash primarily due to&#160;$54.0 million&#160;used to acquire Dynasty, as well as purchases of investment securities of $25.2 million, capitalized software development costs of&#160;$21.0 million&#160;for the continued investment in our software development, and capital expenditures of&#160;$8.1 million&#160;to purchase property, equipment and intangible assets for the continued growth and expansion of our business. These uses were partially offset by sales and maturities of investment securities of&#160;$2.8 million&#160;and $15.7 million, respectively.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Used in Financing Activities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash used in financing activities is generally comprised of proceeds from the exercise of stock options, net share settlements for employee tax withholdings associated with the vesting of RSUs, the payment of contingent consideration under acquisition arrangements, activities associated with our former Credit Facility, and activities related to the repurchase of our Class A common stock.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, financing activities used $70.4 million in cash primarily as a result of the payment of all outstanding amounts due under the Credit Facility of $99.6 million, net share settlements for employee tax withholdings associated with the vesting of RSUs of $12.2 million, payment of contingent consideration related to the Dynasty acquisition of $6.0 million, and the repurchase of outstanding shares of Class A common stock in the amount of $4.2 million. These uses of cash were partially offset by net proceeds from the Revolving Facility of $50.8 million.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2019, financing activities used $7.3 million in cash&#160;primarily as a result of net share settlements for employee tax withholdings associated with the vesting of RSUs of&#160;$6.2 million, as well as principal payments on debt of&#160;$3.4 million, and payments of debt issuance costs of&#160;$0.4 million, partially offset by proceeds from issuance of debt of&#160;$2.2 million&#160;and proceeds from stock option exercises of&#160;$0.6 million.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Off-Balance Sheet Arrangements</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we did not have any off-balance sheet arrangements.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_1688"></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contractual Obligations and Other Commitments</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our contractual obligations and other commitments at December&#160;31, 2020:</span></div><div style="margin-bottom:5pt;margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:41.066%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.886%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Payments Due by Period</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Less than 1 year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">1 to 3 years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">3 to 5 years</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">More than 5 years</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,692&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,275)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,172&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,468&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><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">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease obligations for the year ending December 31, 2021 are presented net of tenant improvement allowances of $5.2&#160;million. </span></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, liabilities for unrecognized tax benefits of $6.1 million were not included in our contractual obligations in the table above because, due to their nature, there is a high degree of uncertainty regarding the timing of future cash outflows and other events that would extinguish these liabilities. </span></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information regarding our contractual obligations, commitments and indemnification arrangements, refer to Note 9, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and Note 11, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Commitments and Contingencies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements included elsewhere in this Annual Report.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_61"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Policies and Estimates</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Consolidated Financial Statements and the related notes included elsewhere in this Annual Report are prepared in accordance with generally accepted accounting principles in the United States. The preparation of our Consolidated Financial Statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ materially from those estimates. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that the following critical accounting policies involve a greater degree of judgment or complexity than our other accounting policies. Accordingly, these are the policies we believe are the most critical to a full understanding and evaluation of our Consolidated Financial Statements. For additional information, refer to Note 2,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Summary of Significant Accounting Policies </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our Consolidated Financial Statements included elsewhere in this Annual Report. </span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We generate revenue from our customers primarily through subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contracts with Multiple Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The transaction price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capitalized Software Development Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of three years. We do not transfer ownership of our software, or lease our software, to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We determined that a three year life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of three years before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this three year estimate, a change in this estimate could produce a material impact on our financial statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense in subsequent periods.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations </span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. </span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.</span></div><div style="margin-bottom:10pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred. </span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes </span></div><div style="margin-bottom:3pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.</span></div><div style="margin-bottom:3pt;margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations. </span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:3pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine if an arrangement is a lease at inception. Operating leases are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease right of use ("ROU") assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;For information regarding recent accounting pronouncements, refer to Note 2, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Summary of Significant Accounting Policies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements included elsewhere in this Annual Report. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_64"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 7A. &#160;&#160;&#160;&#160;QUANTITATIVE AND QUALITATIVE DISCLOSURE ABOUT MARKET RISK </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Risk</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we had cash and cash equivalents of $140.3 million consisting of bank deposits, money market funds, and treasury securities, and $35.0 million of investment securities consisting of United States government agency securities and treasury securities. The primary objective of investing in securities is to support our liquidity and capital needs. We did not purchase these investments for trading or speculative purposes and have not used any derivative financial instruments to manage our interest rate risk exposure. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our investment securities are exposed to market risk due to interest rate fluctuations. While fluctuations in interest rates do not impact our interest income from our investment securities as all of these securities have fixed interest rates, changes in interest rates may impact the fair value of the investment securities. Since our investment securities are held as available for sale, all changes in fair value impact our other comprehensive income unless an investment security is considered impaired in which case changes in fair value are reported in other expense. At December&#160;31, 2020, a hypothetical 100 basis point change in interest rates would not have resulted in a material change in the fair value of our investment securities. This estimate is based on a sensitivity model which measured an instant change in interest rates by 100 basis points at December&#160;31, 2020.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Credit Facility </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to its termination in connection with the MyCase Transaction, we were exposed to interest rate risk as a result of our Credit Facility. Outstanding borrowings under the Credit Facility accrued interest as described in&#160;Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-Term Debt, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our Consolidated Financial Statements. Our borrowings under the Credit Facility were subject to interest rate fluctuations, which could have had a material impact on our cash flows and results of operations depending on the magnitude of the fluctuations and the outstanding borrowings. In order to determine the potential impact of changes in interest rates on our cash flows and result of operations, we performed a sensitivity analysis. A hypothetical 100 basis point increase in interest rates during the year ended December&#160;31, 2020 would not have had a material impact on our cash flows or results of operations. In connection with the MyCase Transaction, and as required by the terms of the Credit Agreement, the Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility thereunder, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the MyCase Transaction and extinguished. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inflation Risk </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not been exposed to, nor do we anticipate being exposed to, material risks due to changes in inflation rates.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency Exchange Rate Risk</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not been exposed to, nor do we anticipate being exposed to, material risks relating to foreign currency exchange rate fluctuations.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_67"></div><div style="margin-bottom:12pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 8. &#160;&#160;&#160;&#160;FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</span></div><div style="margin-bottom:12pt;text-align:justify"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:85.850%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.950%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_70">Report of Independent Registered Public Accounting Firm</a></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_70">45</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_73">Consolidated Balance Sheets</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_73">47</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_79">Consolidated Statements of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_79">48</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_82">Consolidated Statements of Comprehensive Income</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_82">49</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_85">Consolidated Statements of Stockholders' Equity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_85">50</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_88">Consolidated Statements of Cash Flows</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_88">51</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_91">Notes to Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_91">53</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The supplementary financial information required by this Item 8 is included in Item 7 of this Annual Report in the section entitled "Quarterly Results of Operations."</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_70"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">To the Board of Directors and Stockholders of AppFolio, Inc.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Opinions on the Financial Statements and Internal Control over Financial Reporting</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have audited the accompanying consolidated balance sheets of AppFolio, Inc. and its subsidiaries (the &#8220;Company&#8221;) as of December 31, 2020 and 2019, and the related consolidated statements of operations, of comprehensive income, of stockholders&#8217; equity and of cash flows for each of the three years in the period ended December 31, 2020, including the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). We also have audited the Company's internal control over financial reporting as of December 31, 2020, based on criteria established in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Internal Control - Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO).  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the financial position of the Company as of December 31, 2020 and 2019, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2020 in conformity with accounting principles generally accepted in the United States of America. Also in our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2020, based on criteria established in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Internal Control - Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> (2013) issued by the COSO.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Changes in Accounting Principles</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As discussed in Note 2 to the consolidated financial statements, the Company changed the manner in which it accounts for leases in 2019 and the manner in which it accounts for revenue from contracts with customers in 2018. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Basis for Opinions</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company's management is responsible for these consolidated financial statements, for maintaining effective internal control over financial reporting, and for its assessment of the effectiveness of internal control over financial reporting, included in Management's Report on Internal Control over Financial Reporting appearing under Item 9A. Our responsibility is to express opinions on the Company&#8217;s consolidated financial statements and on the Company's internal control over financial reporting based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the consolidated</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">financial statements are free of material misstatement, whether due to error or fraud, and whether effective internal control over financial reporting was maintained in all material respects.  </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our audits of the consolidated financial statements included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated</span><span style="color:#ff0000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">financial statements. Our audit of internal control over financial reporting included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audits also included performing such other procedures as we considered necessary in the circumstances. We believe that our audits provide a reasonable basis for our opinions.</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Definition and Limitations of Internal Control over Financial Reporting</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Critical Audit Matters</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that (i) relates to accounts or disclosures that are material to the consolidated financial statements and (ii) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Uncertain Tax Positions</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As described in Notes 2 and 14 to the consolidated financial statements, the Company has recorded reserves for unrecognized tax benefits from uncertain tax positions of $6.1 million as of December 31, 2020.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Management recognizes the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The principal considerations for our determination that performing procedures relating to uncertain tax positions is a critical audit matter are (i) the significant judgment by management when determining uncertain tax positions and measuring the amount of reserve required to be recognized, (ii) the significant auditor judgment, subjectivity, and effort in performing procedures and evaluating audit evidence related to management&#8217;s </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">identification of uncertain tax positions and measurement of the amount of tax benefits recognized associated with uncertain tax positions, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">and (iii) the audit effort involved the use of professionals with specialized skill and knowledge.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Addressing the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on the consolidated financial statements. These procedures included testing the effectiveness of controls relating to the identification and recognition of the reserves for uncertain tax positions. These procedures also included, among others (i) evaluating management&#8217;s process for identifying uncertain tax positions and measuring the amount of the reserve required, (ii) testing the completeness of management&#8217;s assessment of the identification of uncertain tax positions, and (iii)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">testing the reasonableness of management&#8217;s </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">assessment of the technical merits of the tax positions and estimates of the amount of tax benefit expected to be realized</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">. Professionals with specialized skill and knowledge were used to assist in the evaluation of the Company&#8217;s uncertain tax positions related to the application of relevant tax laws.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ PricewaterhouseCoopers LLP </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Los Angeles, California</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 1, 2021</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have served as the Company&#8217;s auditor since 2012.</span></div><div style="text-align:justify"><span><br/></span></div><div><span><br/></span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:120%">&#160;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_73"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except par values)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.859%"><tr><td style="width:1.0%"></td><td style="width:68.885%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.501%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.065%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.781%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.068%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNC0yLTEtMS0w_b304d549-6eca-4b13-89dc-334391ade645">140,263</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNC00LTEtMS0w_52ba2822-099f-4dbd-87cd-c8ab792337bc">15,813</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Investment securities&#8212;current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNS0yLTEtMS0w_c2aca5b1-13d4-405c-bb59-401fa418f42a">28,256</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNS00LTEtMS0w_ced05b0f-88ec-48e0-ba65-96e200033b6b">22,876</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNi0yLTEtMS0w_500c9fd8-acf7-4592-9972-7e7fce267f95">10,057</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNi00LTEtMS0w_da4e7929-2318-4664-becc-5e8f19e4c802">7,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNy0yLTEtMS0w_446b64dd-b3c9-4f77-bce3-1d8d56beaa8c">20,777</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNy00LTEtMS0w_53c26033-6e6a-4157-9c5a-a39ab988eb3d">15,540</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOC0yLTEtMS0w_f780bc2e-9a9f-4f71-92f5-4340e9ca2385">199,353</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOC00LTEtMS0w_faf51753-45e8-4de9-a3aa-d5078517999f">61,791</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Investment securities&#8212;noncurrent</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOS0yLTEtMS0w_f7d39c41-b173-40c6-af8d-74683d62143f">6,770</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOS00LTEtMS0w_20314669-a171-4018-8c10-6a9ec65a7543">12,089</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTAtMi0xLTEtMA_7de0b4a0-da1b-4645-92fa-3637213fb324">26,439</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTAtNC0xLTEtMA_57be088c-af5e-4a28-8556-9ad4570487fb">14,744</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTEtMi0xLTEtMA_207ad054-20f5-45e4-a307-7954a4a5d19a">30,561</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTEtNC0xLTEtMA_72eb617b-81bb-4d38-a2df-a8c7c7e20876">27,803</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTItMi0xLTEtMA_8ed37eae-97a5-4b85-a282-06f0376c0ff9">35,459</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTItNC0xLTEtMA_b863ea1f-d701-4840-9cbe-5d6c30c4568b">30,023</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTMtMi0xLTEtMA_5792e391-9f03-4782-9904-6f974007a8fd">56,147</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTMtNC0xLTEtMA_5ca4b557-9644-44aa-a85c-15978e830442">58,425</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTQtMi0xLTEtMA_009e2827-f492-470e-b83b-da9e46e170a2">16,357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTQtNC0xLTEtMA_ec235741-9e30-454d-b144-fd9b882b4490">21,377</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTUtMi0xLTEtMA_b91de538-27d2-4fd8-a5b7-2411b7875916">12,181</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTUtNC0xLTEtMA_b79ee6f7-f21f-4d84-b6ca-3791146517e2">27,574</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other long-term assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTYtMi0xLTEtMA_6eeebbff-e7df-4037-b0aa-b4d4a5973723">6,213</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTYtNC0xLTEtMA_63573067-8887-41df-b60b-53c13709f24e">6,276</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTctMi0xLTEtMA_890ff259-d741-4ac4-bbe4-f8cab95e17de">389,480</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTctNC0xLTEtMA_0c8fd11a-a2ce-4b5c-b2f8-2a11c4f37b2a">260,102</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjAtMi0xLTEtMA_a5a0dbdc-0a06-492b-8525-c079c060933c">1,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjAtNC0xLTEtMA_cf1d438e-ee26-4791-a036-3f1f8b23fd72">1,927</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued employee expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjEtMi0xLTEtMA_c5e33107-e5a5-46d5-9617-a81084dba392">18,888</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjEtNC0xLTEtMA_1f06f187-1733-406f-8793-25c8d8d190da">17,758</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjItMi0xLTEtMA_6ea6df8a-b5f5-4ec5-ab54-27dd41a62b27">14,069</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjItNC0xLTEtMA_c799c963-ee49-48ee-9458-6275884c2fca">10,833</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjMtMi0xLTEtMA_a08c1f6c-c0ec-4898-8252-c6a8a8973e66">2,262</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjMtNC0xLTEtMA_1b5361d4-6b02-43c4-bc9d-d737765e656e">4,600</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtMi0xLTEtMzI2_a151f931-973d-40a4-8b75-249d0019afbd">9,095</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtNC0xLTEtMzI5_ea42d7e7-73c1-4a65-b709-213ea3e97a92">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtMi0xLTEtMA_ea651e7d-380a-46a9-a2b4-e266b2093955">4,451</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtNC0xLTEtMA_7d71c3a8-f3b2-47be-8956-b961d00ba93f">11,139</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Term loan, net&#8212;current portion</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:LongTermDebtCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjUtMi0xLTEtMA_8d0ff54f-5d99-4d31-bc4e-54df4a95b5fa">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjUtNC0xLTEtMA_d226b4d6-acf9-4a4e-b964-fd37514b2a27">1,208</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjYtMi0xLTEtMA_2d00ea06-fcd4-4aa8-abbe-b434574a7c6c">49,805</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjYtNC0xLTEtMA_daaa881a-2dcd-4192-9821-56e9de1d6300">47,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjctMi0xLTEtMA_bd3ceb87-94e6-43cf-8d89-0ff11abf8084">40,146</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjctNC0xLTEtMA_5fd72a9d-8b12-49c4-b613-017a36e96d6e">33,312</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Term loan, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:SecuredLongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjktMi0xLTEtMA_0f43b6d3-42af-45cb-ab20-a8d1bcfd7d4e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjktNC0xLTEtMA_d249f32f-f75e-402d-a4d7-9d3a7b25cd68">47,375</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtMi0xLTEtMzE0_f399a375-0e0f-4567-845c-85157b1872a1">13,609</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtNC0xLTEtMzE4_3d860090-3ba0-4ba7-a13c-fc92575d24b7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtMi0xLTEtMA_f3af2120-2ba5-4f93-889a-ae49f494962b">103,560</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtNC0xLTEtMA_14803e52-0025-432d-a8f2-cae3449f0f9b">128,152</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commitments and contingencies (Note 11)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzEtMi0xLTEtMA_beab874c-e6a5-4523-8b05-f7f4fd60c45f"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzEtNC0xLTEtMA_5b0bd7cc-0676-40fc-bba4-94ef037e61ef"></ix:nonFraction></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5MzQ_108284c6-cd82-4453-8666-e2c61197b073"><ix:nonFraction unitRef="usdPerShare" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5MzQ_f29a97cf-0c43-4201-85ea-d44b6506526d">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NDc_1f85c93a-7e00-4159-bbc3-1637f52b6921"><ix:nonFraction unitRef="shares" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NDc_f25a4355-ac39-4531-a2a6-b4fffce44bda">25,000</ix:nonFraction></ix:nonFraction> shares authorized and <ix:nonFraction unitRef="shares" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_1ded1ba8-7979-4a68-ad95-5fb7c1067b56"><ix:nonFraction unitRef="shares" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_86e2ad0e-6c43-4003-92c0-11053b535a33"><ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_94064f48-c3ad-44ac-8f27-a2bca0b75f2b"><ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_b71c357d-e43e-422f-b712-704d71219199">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding as of December&#160;31, 2020 and December&#160;31, 2019</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMi0xLTEtMA_2900cc80-98bd-4f85-ae4b-bfb89753c79c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtNC0xLTEtMA_6da82afb-9ab6-4993-894c-e172858a24cf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Class A common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMTA_133106f5-908c-4b08-bac4-670e3224e59f"><ix:nonFraction unitRef="usdPerShare" contextRef="i696bcdd341204f7e81923e221017f98a_I20191231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMTA_172e1090-413a-4af7-a6e9-09a73398fef2">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjA_c6c63650-8d7f-47e3-984b-8fd32f38531c"><ix:nonFraction unitRef="shares" contextRef="i696bcdd341204f7e81923e221017f98a_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjA_d84aa6e8-ecf6-426d-8902-bb53c4affa4f">250,000</ix:nonFraction></ix:nonFraction> shares authorized as of December&#160;31, 2020 and December&#160;31, 2019; <ix:nonFraction unitRef="shares" contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjk_6652ec35-3f61-498f-a28f-e3aac9675f0a">19,148</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i696bcdd341204f7e81923e221017f98a_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMzg_8340f7cd-1616-4469-a5b7-ed3ef6c3c838">16,923</ix:nonFraction> shares issued as of December&#160;31, 2020 and December&#160;31, 2019, respectively; <ix:nonFraction unitRef="shares" contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyNDc_8ec9fa53-9457-4c14-86df-78346cb181bf">18,729</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i696bcdd341204f7e81923e221017f98a_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyNTY_02bcd4b9-5b98-4e76-9c2e-e8a6b59be3a1">16,552</ix:nonFraction> shares outstanding as of December&#160;31, 2020 and December&#160;31, 2019, respectively</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMi0xLTEtMA_87874676-981b-4f4d-b3b2-8e3dfd323397">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i696bcdd341204f7e81923e221017f98a_I20191231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtNC0xLTEtMA_479c233d-d822-49bd-b3ab-0b81d57cb829">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Class B common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwODY_9344e861-955e-42c0-976c-6ec92d86ea21"><ix:nonFraction unitRef="usdPerShare" contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwODY_bd17c895-4d3b-404a-a46a-f21c35529fc4">0.0001</ix:nonFraction></ix:nonFraction> par value, <ix:nonFraction unitRef="shares" contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwOTY_0001b926-cd9d-4dc7-9a3d-daaacea7ced5"><ix:nonFraction unitRef="shares" contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwOTY_2283c938-a07c-4190-9013-0e2e604978f8">50,000</ix:nonFraction></ix:nonFraction> shares authorized as of December&#160;31, 2020 and December&#160;31, 2019; <ix:nonFraction unitRef="shares" contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMDU_d70348ff-97ed-4822-ab5e-e82ddb2e023a"><ix:nonFraction unitRef="shares" contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMDU_d83b9d05-d274-4728-9eba-1070dcde267b">15,659</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231" decimals="0" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMTQ_af3c1139-eab4-47f0-985a-ef8ad68508ea"><ix:nonFraction unitRef="shares" contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMTQ_e42a42fb-ec17-4298-8b9c-47f2b9493254">17,594</ix:nonFraction></ix:nonFraction> shares issued and outstanding as of December&#160;31, 2020 and December&#160;31, 2019, respectively</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMi0xLTEtMA_74a8b4b7-aa8d-410c-965c-50888396fa5c">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtNC0xLTEtMA_1a35fb07-6472-4561-9551-5d0c5450567d">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzYtMi0xLTEtMA_f6fb482f-6635-48a9-a905-60fb61b7ca71">161,247</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzYtNC0xLTEtMA_ca5851d4-e4f9-488a-9299-d314d8181e6f">161,509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzctMi0xLTEtMA_29673dec-db62-4d4a-b035-28de33d43acb">56</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzctNC0xLTEtMA_987a5d9b-ef16-4b45-93b1-c12229cd8156">33</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Treasury stock, at cost, <ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjY0NmI3ZjAyMTAwYzRhMDY4ZmRjZGM3ZjkwYWFkZGU5XzEwOTk1MTE2Mjc5NTA_f0562ee9-b3ce-4879-8e24-ffaf04988b65">419</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjY0NmI3ZjAyMTAwYzRhMDY4ZmRjZGM3ZjkwYWFkZGU5XzEwOTk1MTE2Mjc5NTY_f56b5ed0-7612-47ce-a7c4-4b64e24e41a4">371</ix:nonFraction> shares of Class A common stock as of December&#160;31, 2020 and December&#160;31, 2019, respectively</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMi0xLTEtMA_5a5f23f8-aa64-4bda-83cc-eb7297bb7433">25,756</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtNC0xLTEtMA_7ea8dc84-60ec-4f4f-8e59-d9bb473ade39">21,562</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Retained earnings (accumulated deficit)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzktMi0xLTEtMA_d4c96ccc-9060-47f1-95a9-5b41035b4b50">150,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzktNC0xLTEtMA_53e653d4-6fe7-45dc-ab83-db24ecb91830">8,034</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDAtMi0xLTEtMA_4ea7ef25-2b1b-4f7e-91e4-3a4a48b5f9fd">285,920</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDAtNC0xLTEtMA_0c4322ac-34c5-41e8-a866-2b3bc50fd39d">131,950</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDEtMi0xLTEtMA_94cab6b0-6549-4c1f-b27b-eb9dd93db0da">389,480</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDEtNC0xLTEtMA_a858845d-5de8-4393-8af6-cbb0e908d903">260,102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes to the Consolidated Financial Statements are an integral part of these statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_79"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share amounts)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:59.457%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.656%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.656%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.365%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi0xLTEtMS0w_02afe5cd-00fb-40e5-a3cd-fc83b6c58c0f">310,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi0zLTEtMS0w_3968601c-4828-487d-8b6b-ddbd994c7e0e">256,012</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi01LTEtMS0w_55214394-06b9-45de-9742-d749322d26aa">190,071</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue (exclusive of depreciation and amortization)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC0xLTEtMS0w_5fa7912b-9785-44c3-93a2-53a12281cc86">119,029</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC0zLTEtMS0w_91f4dfb7-4a4c-43fe-bb54-75167641697d">101,642</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC01LTEtMS0w_8463d024-339d-442e-a3bf-5191abc6497d">73,549</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS0xLTEtMS0w_9b85a68c-5c71-4fcf-b562-7d4b3f0309bc">58,445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS0zLTEtMS0w_35d4ff8d-a494-4e75-b82b-65ac39caf073">51,528</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS01LTEtMS0w_d71138b2-3673-4db2-8bb6-29ac8df93a2d">33,288</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and product development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi0xLTEtMS0w_2679449c-2b53-403a-9761-64371a763e7e">48,529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi0zLTEtMS0w_91ec843c-833d-4605-a38b-30f6762b5a16">39,508</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi01LTEtMS0w_65c7c9dc-79bd-4269-9925-f301eb7b3784">24,111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy0xLTEtMS0w_679dcabc-3d9f-44da-86c8-cc4060e89298">47,480</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy0zLTEtMS0w_5ca5f0a6-7d49-420d-876b-c4aee9723c2a">34,478</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy01LTEtMS0w_c053bf1b-81d8-48bf-8f84-2bd89f03bb9e">24,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC0xLTEtMS0w_1bbca884-52f0-4c81-99eb-6607eb567b9d">26,790</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC0zLTEtMS0w_2f7d6abc-caa5-4743-ad61-ad67ac780f38">22,395</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC01LTEtMS0w_5abf395c-f1ad-4f01-af81-b04e9d2bb0a3">14,576</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs and operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS0xLTEtMS0w_0b63c00b-909b-4f96-8732-5c3ac37521c5">300,273</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS0zLTEtMS0w_e5d47525-e487-422d-bddf-d1fecf92b5ae">249,551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS01LTEtMS0w_d3011cce-5fe4-459d-9ffe-ff329957d526">170,415</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtMS0xLTEtMA_bbcf229e-f681-4338-b24b-f168892990ec">9,783</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtMy0xLTEtMA_adcea4fa-54d1-4005-bab9-43c878770d91">6,461</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtNS0xLTEtMA_8e4f0a89-6b8a-41b7-ad7e-36be91e3935a">19,656</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtMS0xLTEtMA_b3e0bb1a-42c6-4133-8baa-0a5179504594">188,897</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtMy0xLTEtMA_dfde06f0-8b24-4bd4-8fbf-4679acfe0b37">16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtNS0xLTEtMA_f629fb10-dec6-4e3e-8f69-611a2a48d14c">56</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest (expense) income, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItMS0xLTEtMA_24a344ab-32c7-42d0-bc6f-30a7a80ae56b">1,849</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItMy0xLTEtMA_917c64a6-45bb-4711-ace7-9815068de35a">1,654</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItNS0xLTEtMA_d3e83178-b5ca-4f1e-97d9-925347908c10">787</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before provision for (benefit from) income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtMS0xLTEtMA_91234946-bd1e-4a2e-8329-270bdf98e671">196,831</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtMy0xLTEtMA_402e551b-ef88-477e-a296-4db37481d8dd">4,823</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtNS0xLTEtMA_405c76a6-5b46-495e-869d-f508ad88c9a4">20,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtMS0xLTEtMA_1691b446-24cd-4e43-b1ae-cea38f82ff5a">38,428</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtMy0xLTEtMA_fbf69b73-4507-449f-8ec1-007e167caeaf">31,459</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtNS0xLTEtMA_5c8b9b06-e888-4085-bd67-cdcd70477b10">420</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtMS0xLTEtMA_f829d523-fe12-420c-a1ae-cc6187d1f0a5">158,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtMy0xLTEtMA_396bd0f1-84f4-43c5-a776-dff367e9d14c">36,282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtNS0xLTEtMA_710c695d-b6f9-430f-83ec-1e7c6924f254">19,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per common share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctMS0xLTEtMA_7b0c058a-483c-4956-be8b-fc8c465f911b">4.62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctMy0xLTEtMA_38954c52-a210-4b24-ba0c-ffc747a062d0">1.07</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctNS0xLTEtMA_303a9f56-3ca2-4d15-9783-cba9ebb9e911">0.59</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtMS0xLTEtMA_19ee3049-6740-4b82-a9fe-bb2f74e3226f">4.44</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtMy0xLTEtMA_d5ac8507-1c72-4c04-a1f9-8a5b7a5d4afe">1.02</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtNS0xLTEtMA_8c4a054c-9c80-4c26-a965-2798f2c45470">0.56</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtMS0xLTEtMA_a8ffae71-91c8-4023-92ba-d89403f2a8d3">34,264</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtMy0xLTEtMA_9902583a-a035-43b5-ad33-24e32cffdaf3">34,016</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtNS0xLTEtMA_173315b4-90d5-401c-b31b-72e917dae3fe">34,128</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtMS0xLTEtMA_340da975-314b-4e31-ac27-a1479a04afe7">35,713</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtMy0xLTEtMA_aa87c805-b57f-4c34-a6b6-8a394530c975">35,567</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtNS0xLTEtMA_ef444e9a-b724-442c-99b5-53e063a5385a">35,562</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes to the Consolidated Financial Statements are an integral part of these statements.</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_82"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi0xLTEtMS0w_f829d523-fe12-420c-a1ae-cc6187d1f0a5">158,403</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi0zLTEtMS0w_396bd0f1-84f4-43c5-a776-dff367e9d14c">36,282</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi01LTEtMS0w_1fdb78c8-045b-4485-af52-5880046b79b7">19,967</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;Changes in unrealized gains on investment securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC0xLTEtMS0w_3acf8621-6fa8-4125-ba45-95042f560ca6">23</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC0zLTEtMS0w_64032dfe-4cad-4b65-ae87-5442f7ecff85">211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC01LTEtMS0w_973b4486-4f61-4066-9ba3-bcc05922c3af">31</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Comprehensive income</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS0xLTEtMS0w_c3168065-7070-4a79-acf6-5b673db3b99b">158,426</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS0zLTEtMS0w_c3c370e3-7efd-460d-9349-16274f312978">36,493</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS01LTEtMS0w_7a2574cc-d633-47d6-a9ec-e4e3278e7aef">19,998</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes to the Consolidated Financial Statements are an integral part of these statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_85"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-bottom:5pt;margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.603%"><tr><td style="width:1.0%"></td><td style="width:23.202%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:5.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.000%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.922%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.805%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.594%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.069%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Retained</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Additional</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Other</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Earnings/</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Paid-in</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Comprehensive</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Treasury</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Accumulated</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Income (Loss)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Deficit)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2017</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7914f6f887a9464f88693d0427ccdb78_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS02LTEtMS0w_6c209527-ae50-4c06-a130-a045ffaec632">14,879</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7914f6f887a9464f88693d0427ccdb78_I20171231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS04LTEtMS0w_46e88d3e-3462-4105-bb15-d78b8cc68823">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i380df49aca51413db24bbf1817db8287_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xMC0xLTEtMA_3a6c33e3-bc25-4222-81a1-324ac1ee0d87">19,102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i380df49aca51413db24bbf1817db8287_I20171231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xMi0xLTEtMA_bcfdf066-955a-417d-8b98-98ff9f838fc7">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i498f187c4bf34f47b08c411cddca983c_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xNC0xLTEtMA_b0a2da8a-d93f-488d-a2af-c98a32f29606">152,531</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib0fb2ee59e454533b485c7404c5ddf95_I20171231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xNi0xLTEtMA_abf185be-ec8c-471b-b26d-34efdedbe427">209</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if29e6192a513486b813c835f1b67c375_I20171231" decimals="-3" format="ixt:zerodash" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xOC0xLTEtMA_c6f401a0-6611-47ee-80c6-f54a434e0de3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4fdf7beea5e247d6a2da08d07d68f4d6_I20171231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0yMC0xLTEtMA_acf98da3-1608-4d44-845b-a826990024d6">67,247</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0yMi0xLTEtMA_ae3dfb8e-048c-401e-b175-80fac61306b6">85,079</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Exercise of stock options</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi02LTEtMS0w_2c43526e-3d2d-4342-987a-2a5be861991b">170</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi0xNC0xLTEtMA_f0d2b629-af65-49af-ab21-cd022003fdb6">1,035</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi0yMi0xLTEtMA_00dffe17-e43e-4a0b-a3b3-22442fb600e3">1,035</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNy0xNC0xLTEtMA_eb3e9c3c-6168-4a88-8fc8-d69191d769eb">7,187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNy0yMi0xLTEtMA_6e1cc4a5-9ffe-45e0-ba6c-e7fa13890a8d">7,187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC02LTEtMS0w_f4ee3076-d252-492a-aa5d-244e8b58dd32">113</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC0xNC0xLTEtMA_4e3e41be-fde1-4451-bdc6-168c6dd7d9e4">2,890</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC0yMi0xLTEtMA_1d4ddeeb-59a7-46d9-b9d0-65e018dc4744">2,890</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of early exercised shares</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOS0xNC0xLTEtMA_3f91ac46-b1e9-4936-94c7-6bf599d675c2">35</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOS0yMi0xLTEtMA_ac1f4666-3703-436b-a3e2-90d43d442adf">35</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtNi0xLTEtMA_bea26a96-b31c-436b-8085-a1e470b70ffb">993</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" sign="-" name="us-gaap:ConversionOfStockAmountConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtOC0xLTEtMA_976aa87a-4b26-49bf-9a77-cfae0bfa32f6">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMTAtMS0xLTA_7c7f7c4c-5eaa-43b4-835e-eb1e081abb01">993</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231" decimals="-3" name="us-gaap:ConversionOfStockAmountConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMTItMS0xLTA_6bf516a1-b97e-4e36-8a0e-28e0a67534b7">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:ConversionOfStockAmountConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMjItMS0xLTA_b23a2b1b-7def-4853-b08e-f28ccf726abf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTEtNi0xLTEtMA_06091b1c-b26e-494e-85a7-5e21b25ebbda">5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTEtMjItMS0xLTA_a7df0a0b-a49e-423c-b99a-9c4a6a529632">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other comprehensive income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3a21f7a26f324477a23e1b00e3de6acf_D20180101-20181231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTItMTYtMS0xLTA_3178863a-694d-4594-9fc9-7935ff37f2a3">31</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTItMjItMS0xLTA_04843e72-fbb7-4f77-8469-0d4be39252f1">31</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtNi0xLTEtMzYz_72297502-2c4b-410b-97ef-d1cb30f55077">371</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie78d128f448f42b59f0c10b1987488ab_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTgtMS0xLTM5NQ_87c8b074-1f49-4a34-bb2f-59d6c1b46a27">21,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjItMS0xLTQwNQ_4426410e-cdd7-4e83-a923-743be75d2e0b">21,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cumulative-effect adjustment resulting from adoption of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMC0xLTEtMzUzL3RleHRyZWdpb246ODU2Mzc3ZmZlY2Q3NDRlZWE1YjE5MWFkZDI0Y2FlYzdfMTA5OTUxMTYyNzg1OA_e452efe7-800b-4889-964f-c6adaf181165">ASU 2014-09</span></span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f9a14399d354f778d02a86329cf3648_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjAtMS0xLTQwMA_38c85b4d-3f53-4bce-b904-08ec8807bcb9">2,964</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iec0a0a7e74c54db6a03735eb3abc8ecc_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjItMS0xLTQwNQ_c55e215d-3e66-4929-af32-225c0affa664">2,964</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6069f181c51a415493981b96f64e2255_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjAtMS0xLTQwMA_47a40d95-f754-4953-a007-18d92c7d8b61">19,967</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjItMS0xLTQwNQ_883491cc-37a6-403f-94e1-4d357376bfd6">19,967</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2018</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8d5709137fe94ae29243529a3254cedd_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtNi0xLTEtMA_4d18030d-c5a1-444f-b92f-17bcab89222d">15,789</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8d5709137fe94ae29243529a3254cedd_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtOC0xLTEtMA_7f3f8da8-6b94-4ee7-a571-ff3385d884b2">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4867c6353b784ddda2975953bb82525f_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTAtMS0xLTA_f05a62b5-754f-4bd2-a2ee-b2e182824cf1">18,109</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4867c6353b784ddda2975953bb82525f_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTItMS0xLTA_ad005354-cb85-44ac-96ca-72f519a1301a">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5c4d95a6966e422a919bfb5999cbf7fc_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTQtMS0xLTA_6ccc6724-0b26-4b79-8bf5-6c747b977bac">157,898</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i942745ea801a453f9a257557fb01f52d_I20181231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTYtMS0xLTA_eca2bae5-8ef9-4646-8ed9-2b06bc527adc">178</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i791194c060134928b768659ecb27b02b_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTgtMS0xLTA_97f1b114-4bbd-4821-a9a2-a4bc9c93ab2f">21,562</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idc7d4eeeecff419bb9e2bfa4f8aa1a5b_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjAtMS0xLTA_fa946d19-931c-424e-9813-85783543b287">44,316</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjItMS0xLTA_2d495329-e3f9-44b0-8bb0-d69b5ea129d4">91,846</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Exercise of stock options</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtNi0xLTEtMA_d1d8ce79-017a-47e7-be86-c1ddeb4568a7">120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMTAtMS0xLTA_46834588-5206-4e50-880c-6069dba942be">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMTQtMS0xLTA_dee8524e-436e-44f9-a8d1-3d325d6e70db">553</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjItMS0xLTA_615f69b8-5cf9-42b0-919f-5338da4ec780">553</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMTQtMS0xLTA_e42a453b-0953-4e56-8e95-38ee64570106">8,985</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjItMS0xLTA_f8110b0d-ceb7-4769-a185-bee0e4172bff">8,985</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtNi0xLTEtMA_d3fda4f9-bb81-4563-b641-96c3d3f0ff9d">123</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtMTQtMS0xLTA_8178490a-09da-4c48-b9d0-3f7081807cae">5,933</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtMjItMS0xLTA_b32507ac-311d-45f1-a7c0-8d745b172f4f">5,933</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of early exercised shares</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTktMTQtMS0xLTA_b4b1d5b4-53dd-4b52-9461-9bf4a39e25f5">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTktMjItMS0xLTA_3cc38ec6-e87f-43d1-b38b-f5b0d31b54fd">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtNi0xLTEtMA_47051439-0998-47ba-b324-ba505c6cdf6c">515</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231" decimals="-3" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtMTAtMS0xLTA_d5a71d04-1002-45a3-9733-f615e03ea351">515</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:ConversionOfStockAmountConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtMjItMS0xLTA_ad3e75a1-ecb4-43cc-bf10-346d32024670">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjEtNi0xLTEtMA_b550d88e-b4cd-494d-9f06-49f30928b430">5</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjEtMjItMS0xLTA_fcf6a36d-4d76-4b91-a9a1-d8b81ec8ce73">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other comprehensive income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2ffe2487696b4ef8ae9895d1f3e60e2d_D20190101-20191231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjItMTYtMS0xLTA_26e84868-c50f-4b44-a195-5be7de337b9e">211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjItMjItMS0xLTA_49ca4537-baa3-4e88-af79-bcf843457a4c">211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia17898eab0a84e86af4f2838bb075bc8_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjQtMjAtMS0xLTA_87b7dc4e-138e-4ef1-8c0d-1556c6a1611f">36,282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjQtMjItMS0xLTA_f34b4dc8-a33a-41c4-9305-33ca27cb298b">36,282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie1f2fd74e7814953a98976e1522397f3_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtNi0xLTEtMA_6338827c-711e-4862-bda5-c4dbe400a5bb">16,552</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie1f2fd74e7814953a98976e1522397f3_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtOC0xLTEtMA_f201b023-317b-44f5-a64b-d7ab20d1a123">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2eceb2a67816475f9495f49c45469f2c_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTAtMS0xLTA_7e640218-75df-440e-8a1c-449357bc08be">17,594</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2eceb2a67816475f9495f49c45469f2c_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTItMS0xLTA_c477b0e1-3e22-49af-9cca-b1e37157bd33">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98e2ea9866cd4d27921474d613e42da0_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTQtMS0xLTA_1d896ca6-f3af-4e2e-b3c1-7ad63f981d47">161,509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f2bc66ba866450fb4937f02eafd39f7_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTYtMS0xLTA_873cae92-b786-4264-83f8-a161b4dc0187">33</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if4ee326334da492e92b01dc1a3d4ae35_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTgtMS0xLTA_7f525859-2b51-49a6-bcee-887c1806175f">21,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1fbc00c8aa2048a4b08a253ab945d669_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMjAtMS0xLTA_67b5d6c9-3ab7-4a25-8af0-86fc848e6250">8,034</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMjItMS0xLTA_575f1753-8d84-4941-a41b-e439f8b73250">131,950</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Exercise of stock options</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtNi0xLTEtMA_74a17207-7c5e-4a97-981c-ba74151d81c7">106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if51c7056a1e3488ba6078db402a630de_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMTAtMS0xLTA_ebb398d0-42dc-41fc-a697-993bf974023d">13</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMTQtMS0xLTA_1afae530-37fa-4773-a2a2-02f69fe5b542">822</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMjItMS0xLTA_b7fce93a-cea6-4c65-a621-2925d4777e3b">822</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjctMTQtMS0xLTA_4b76da5e-df4b-4afa-be49-bd83d87cb75a">11,112</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjctMjItMS0xLTA_14b0a965-31ba-4ec6-a2c5-ee7649b2f8f7">11,112</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of restricted stock units, net of shares withheld for taxes</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231" decimals="-3" name="appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtNi0xLTEtMA_4448a3d3-0142-4cf7-8d1e-d3a37c6b3abd">166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtMTQtMS0xLTA_6b3777bc-ad72-4d12-b1bc-b96ac246c2aa">12,196</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtMjItMS0xLTA_b4be63fb-b2b1-485a-8fde-0507dace2217">12,196</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Conversion of Class B stock to Class A stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtNi0xLTEtMA_5acf366f-5731-4e57-9d5d-b1b320971278">1,948</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="if51c7056a1e3488ba6078db402a630de_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConversionOfStockSharesConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtMTAtMS0xLTA_0d5ddbba-3f58-4ffc-9a56-6eb70c95c036">1,948</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:ConversionOfStockAmountConverted1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtMjItMS0xLTA_4eb45206-276e-4995-bd72-edf852a6fe48">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzEtNi0xLTEtMA_94b5f84b-8337-4bbb-98b0-4c4f79461da3">5</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzEtMjItMS0xLTA_43ee5648-2768-4e02-a813-76187435afea">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other comprehensive income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib90028dcbf22490dbcf8b9384e259871_D20200101-20201231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzItMTYtMS0xLTA_7f61efec-09b2-4f5a-8e7f-c6d0a06e815c">23</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzItMjItMS0xLTA_50db56aa-2e94-4247-98b4-801b4dea00cf">23</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtNi0xLTEtMA_715a14d3-44fc-4a87-9c39-3d7ab09685d7">48</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i14449d34ed1b478492c96facf4421275_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtMTgtMS0xLTA_1927ceba-d5c0-4832-83dc-bc56896eed42">4,194</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtMjItMS0xLTA_35982b93-32c9-4901-8c1f-2e6b4aa34de9">4,194</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i18e3341bbce74544a9b308931cf2782f_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzQtMjAtMS0xLTA_59751d7a-e232-40cf-82db-a5206fbfc7fd">158,403</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzQtMjItMS0xLTA_b77ac4fe-1f80-43fc-951a-ca31209a3f0b">158,403</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7537d46876a24976951eb2e446da87ae_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtNi0xLTEtMA_ced90dd0-763b-4c06-8ee5-818a17083e0c">18,729</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7537d46876a24976951eb2e446da87ae_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtOC0xLTEtMA_59476cdf-bd68-4fa1-868b-f9b4711af32b">2</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTAtMS0xLTA_44d54d70-23ea-4310-bb4d-98e17304a252">15,659</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTItMS0xLTA_42072e67-65fb-4ec4-bd56-2ff316dde307">2</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc5bc645dca9426a878a741c849c2024_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTQtMS0xLTA_8d595b62-1af1-4987-9730-b38be73a2e9e">161,247</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8c0c53063e34fd0b5d0a014a3b311a7_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTYtMS0xLTA_1e2a716e-0f75-4a61-8ec5-fb5686654596">56</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ic9339f252af746089527f092369d643f_I20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTgtMS0xLTA_dc8ce700-bbd2-4876-ab61-be2fe18052d3">25,756</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia838a71712074d6a982bc46c2fe29970_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMjAtMS0xLTA_9cfefa2f-8b74-4aa6-a82e-df2eb7cae0b6">150,369</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMjItMS0xLTA_a6445b54-24af-4e34-ab38-53f3b8428d28">285,920</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="margin-top:14pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:174%">The accompanying notes to the Consolidated Financial Statements are an integral part of these statements.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_88"></div><hr style="page-break-after:always"/><div style="min-height:31.5pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-bottom:5pt;margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cash from operating activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy0xLTEtMS0w_561dabd5-1d75-4bad-a0ee-8c8ca77216ef">158,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy0zLTEtMS0w_c99645bd-a8ae-4f38-b110-8e659b30ca90">36,282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy01LTEtMS0w_a67e2f04-7967-49f5-b918-000e5e1397ae">19,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS0xLTEtMS0w_558fb7f1-fe4f-44c1-a066-4237ac778962">26,790</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS0zLTEtMS0w_a5c8bbc3-b0bb-47bb-a5d4-eca85490790c">22,395</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS01LTEtMS0w_6734d3e5-5d19-4a42-ba19-049352ea616b">14,576</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:AmortizationOfOperatingLeaseRightOfUseAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi0xLTEtMS0w_3952991e-5333-41c2-815b-7136ebfdf41f">3,701</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:AmortizationOfOperatingLeaseRightOfUseAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi0zLTEtMS0w_5e5f1fd2-db2c-4084-8806-b046a967252b">4,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="appf:AmortizationOfOperatingLeaseRightOfUseAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi01LTEtMS0w_6da919ae-4d26-474a-9241-748e91fa211c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0xLTEtMS00NzA_bf77425f-f746-4540-a200-0b8869660043">29,002</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0zLTEtMS00NzA_8405a74c-9142-4e2d-ace6-01d774a2103c">31,455</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy01LTEtMS00NzA_fa30246d-bf7c-468f-9939-bd1f8196b9d6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0xLTEtMS0w_99297065-8175-49cd-940f-d1146445eef2">9,025</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0zLTEtMS0w_19d67efe-0237-450d-980c-e8aa8834204a">7,309</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy01LTEtMS0w_ddf4adc4-a4be-41c4-9629-127696ae7fd3">6,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gain on sale of business</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfBusiness" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC0xLTEtMS0w_99746b66-44a3-4c89-95e6-4e776aef9121">187,658</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:GainLossOnSaleOfBusiness" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC0zLTEtMS0w_074a5902-82cf-4aca-b7cf-997a61732f9d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:GainLossOnSaleOfBusiness" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC01LTEtMS0w_a5c518d2-e2e9-463f-baa6-7c1f8f9d64e0">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS0xLTEtMS0w_88c36de4-6c81-44fd-86b9-3a5b0733e224">125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS0zLTEtMS0w_11e2d391-a9e1-4fb2-b60b-bd5d821010a6">32</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS01LTEtMS0w_af84bcc0-9324-417d-9b63-c281e0697c89">224</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Changes in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtMS0xLTEtMA_782c6883-e6ef-453a-90e3-25c0e3d63957">2,782</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtMy0xLTEtMA_19c5255e-54d5-4d34-a829-2b80131ac197">2,031</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtNS0xLTEtMA_bfd5ebc5-11a2-47f1-b65e-c277a110dcfe">908</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItMS0xLTEtMA_7dd74443-40f1-45d5-9b1d-45360127538f">5,894</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItMy0xLTEtMA_99d093be-a297-421b-8221-77c4a5f27eb1">4,031</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItNS0xLTEtMA_27bd8a20-50c9-4e56-a589-6efc12760cc3">6,073</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtMS0xLTEtMA_aa563d3f-e79b-476d-9c16-5e9db5c59201">519</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtMy0xLTEtMA_ccccc3ce-393c-4d35-8d03-f52be16edbcb">1,376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtNS0xLTEtMA_c885ecaf-98eb-4bcf-94e0-e0debd05b040">4,447</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtMS0xLTEtMA_665a3863-ad5f-4107-ba35-2898edbb528f">903</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtMy0xLTEtMA_bef11192-059c-4bf8-9742-9f885da7ea4c">511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtNS0xLTEtMA_cefc65c8-0245-4e2f-a358-ba4d2e9e7ea6">614</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued employee expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtMS0xLTEtMA_5f0ebfd2-45d4-48e5-aecc-c9900e45f05b">2,799</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtMy0xLTEtMA_8f5d8e9a-6930-4af1-85f5-32592f4dba2c">4,542</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtNS0xLTEtMA_91f4c3ed-6384-431f-b11a-ca11bcb01a3c">1,219</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtMS0xLTEtMA_1f0148eb-b767-4c70-832f-d2d01765e151">6,878</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtMy0xLTEtMA_b7994311-abed-46be-acd6-1dd59756c586">55</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtNS0xLTEtMA_8a7ae94d-2712-4248-8a30-9bf1e0677c4b">3,281</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctMS0xLTEtMA_15987639-7603-443e-8d03-f10f00df6aea">530</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctMy0xLTEtMA_05fb27e4-38b6-46da-af28-9e76d8b441fc">1,193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctNS0xLTEtMA_20abd0fd-0705-494d-bd5d-0e85445046a4">4,589</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" name="appf:IncreaseDecreaseInOperatingLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtMS0xLTEtMA_46431b74-845c-45f6-bbba-935bbd4fdbaf">564</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="appf:IncreaseDecreaseInOperatingLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtMy0xLTEtMA_ce498f76-788f-4431-ab55-9f7536b5bd9b">2,662</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="appf:IncreaseDecreaseInOperatingLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtNS0xLTEtMA_be50124d-c26b-469b-b6b1-13165bdbff18">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktMS0xLTEtMA_36e918ee-e37c-4052-805a-e164bf38a80d">9,366</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktMy0xLTEtMA_1739ab4d-98bf-4daf-b23f-63fd12b8ce39">1,241</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktNS0xLTEtMA_e66321a9-d423-4ae8-835e-b29f8f2e1fa2">6,067</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtMS0xLTEtMA_597208f1-b92d-4053-8426-15eafa199afb">48,299</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtMy0xLTEtMA_cefb0eea-62b0-4c22-963e-476c84a14e72">38,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtNS0xLTEtMA_9301aee1-17d1-47bf-b10b-a3776a961717">36,268</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cash from investing activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMS0xLTEtNDg1_96d38e1b-dca4-4ae9-8a84-2c60bc14c688">43,877</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMy0xLTEtNDg1_e17bf93e-5813-43e5-9cab-7b8809d37842">25,198</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtNS0xLTEtNDg1_5021fd7b-b061-4bec-92f4-174d1d652c97">29,516</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from sales of available-for-sale investments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMS0xLTEtNDg4_b1f738aa-8bb3-425f-a07f-29238a6c0ada">16,711</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMy0xLTEtNDg4_3c3fb816-8c3b-42de-b07c-e20212cf34a5">2,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtNS0xLTEtNDg4_6ef845c7-4acd-4e9a-b340-71e07934fd76">20,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from maturities of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMS0xLTEtNDky_9585d0dc-2486-4a6f-aafa-72009077d27c">27,330</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMy0xLTEtNDky_b809e478-b599-4638-9446-19de92fe888f">15,660</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtNS0xLTEtNDky_ca201dc2-84d2-468b-8f81-767941dfe72a">32,819</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of property, equipment and intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItMS0xLTEtMA_acc94eeb-2bde-4840-9903-3463e8d0b661">19,038</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItMy0xLTEtMA_fa35d802-e76b-4c34-9efc-b997bd3387ef">8,084</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItNS0xLTEtMA_14330f9d-000d-4431-b232-4c9ce96367e9">2,102</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Capitalization of software development costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToDevelopSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMS0xLTEtMA_0cc8bdb5-79de-4fa3-b494-a1ee693c3492">26,042</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToDevelopSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMy0xLTEtMA_bfb42855-ec9f-45fa-9ddb-8a0fad3f3dac">20,998</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToDevelopSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtNS0xLTEtMA_c34a9a88-3721-401a-be46-20b87b9c396a">12,304</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid in business acquisition, net of cash acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMS0xLTEtMA_f40b4acf-f828-4b55-978c-162da5aee93d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMy0xLTEtMA_0a07a9f8-baea-4038-a794-e2b24ff328cb">54,004</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtNS0xLTEtMA_31d89dad-4eeb-43a7-8ffa-7cbc4a2c2e26">14,441</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from sale of business, net of cash divested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMS0xLTEtMA_251ed822-bb9d-400e-9970-29ce6a3a7064">191,427</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMy0xLTEtMA_6bd253c6-9ccf-4ef9-a72e-c6b021f5c7c6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtNS0xLTEtMA_faad3ca7-24ad-4a5d-88cb-1bb4bf70c2d4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used in) investing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktMS0xLTEtMA_5a9f25c5-2aa6-476f-90a9-693593ce1d98">146,511</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktMy0xLTEtMA_7c802a66-6068-497b-ae20-1c5f90eed6ca">89,874</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktNS0xLTEtMA_8a120294-710a-4c7b-934d-cd13bfd70459">4,644</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cash from financing activities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from stock option exercises</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtMS0xLTEtMA_3058375b-c74a-4c2e-967c-3007eedb0103">822</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtMy0xLTEtMA_78e84e59-4753-4677-b5f1-0319bc2fd9dd">553</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtNS0xLTEtMA_a046b75a-e9f3-44ee-9c5e-0782ed44ea38">1,035</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Tax withholding for net share settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtMS0xLTEtMA_4eae1af7-4f6b-4a1b-b4fb-a60f73b34f5b">12,196</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtMy0xLTEtMA_6f1f4ff2-6b97-474c-b986-406011369923">6,155</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtNS0xLTEtMA_605a0470-5926-4421-9b9c-c02fe3310b56">3,127</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctMS0xLTEtNTE2_755ed3c7-8ba9-4b5f-91b7-bf459b86eb59">5,977</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctMy0xLTEtNTE2_a74c715b-8b06-4204-a089-ff8b9926d0ba">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctNS0xLTEtNTE2_b68d783c-c8ce-4fb6-90f2-d5ee28f932ac">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from issuance of debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMS0xLTEtNTIw_0057f830-f698-4af9-99c3-a89af470db30">50,752</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMy0xLTEtNTIw_94bf0c3d-1f3b-4b04-941e-895c1870ee2a">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtNS0xLTEtNTIw_b6a40b17-5a5d-4344-ada8-9558de69d9f9">50,138</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Principal payments on debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktMS0xLTEtNTIw_67deda97-9134-45bd-800a-e4424c5eed5a">99,565</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktMy0xLTEtNTIw_5982e634-61b9-4c43-a818-9e888e6d3402">3,419</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:RepaymentsOfSecuredDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktNS0xLTEtNTIw_afe80588-da13-42ca-a6ed-fc1ecbcf1be6">138</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of debt issuance costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtMS0xLTEtNTIw_66897df5-c614-4bd4-b6f3-97da165119b6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtMy0xLTEtNTIw_31f564d9-67cd-46bd-a7c4-bc801ed94474">420</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentsOfDebtIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtNS0xLTEtNTIw_105c4529-28dd-44a9-9236-13d1725f92d0">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchase of treasury stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMS0xLTEtMA_577c9069-4b23-42b5-8975-cb70a3407637">4,194</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMy0xLTEtMA_c16f3f02-07db-43f6-a845-b483ba86c36c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtNS0xLTEtMA_82a3789c-91b1-49bb-8f54-d527b9c323bd">21,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMS0xLTEtMA_ddb821f7-ee8e-4bc6-9d79-76771151abd9">70,358</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMy0xLTEtMA_eb517f3f-5dfa-4bac-a8e9-644de0bcd7aa">7,272</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtNS0xLTEtMA_dc5d7844-0af6-4db9-b982-f5369cf48ce1">26,346</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net increase (decrease) in cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMS0xLTEtOTU3MA_286f8f53-ca16-4bac-acc1-c07c6c5513de">124,452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMy0xLTEtOTU3MA_3ca38561-a8ac-4564-8952-2fcac603ef70">58,259</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtNS0xLTEtOTU3MA_54bbf20c-f9e7-4bbd-a9a1-58f3adc78934">57,970</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Cash, cash equivalents and restricted cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Beginning of period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtMS0xLTEtOTU3OA_fa2b1dca-13f0-48c3-8bbe-1ecfaf760ac7">16,247</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtMy0xLTEtOTU3OA_cd75430e-9125-4f9b-b774-3a66aa016e54">74,506</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtNS0xLTEtOTU3OA_90b4c95f-917a-46fb-9cbd-cd273cdd2bf5">16,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">End of period</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtMS0xLTEtOTU3OA_c0defadb-c697-4f6c-8f49-8a26d1113c6e">140,699</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtMy0xLTEtOTU3OA_d7a2a18b-c5aa-4fc3-8bbb-a3b4bb31e9d7">16,247</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtNS0xLTEtOTU3OA_88e610dc-996a-47ba-b943-8414180cff23">74,506</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:31.5pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">APPFOLIO, INC.</span></div></td></tr><tr><td colspan="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">CONSOLIDATED STATEMENTS OF CASH FLOWS </span></div></td></tr><tr><td colspan="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(in thousands)</span></div></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Supplemental disclosure of cash flow information</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtMS0xLTEtMA_073f168b-a7a3-4769-aa76-31381cae4188">1,815</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtMy0xLTEtMA_50fc6819-e4df-418a-9645-392c3f244331">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtNS0xLTEtMA_426261c6-b200-49ca-81a2-4153b98e63b5">118</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxesPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctMS0xLTEtMA_75a53d3b-0f13-4dde-b794-846d8f93ef83">85</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxesPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctMy0xLTEtMA_3ad74ffa-0aaf-405d-a87d-30c08f1af064">545</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:IncomeTaxesPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctNS0xLTEtMA_0f9c853c-50d0-446f-a213-dd8dbdb4bc31">82</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of lease liabilities included in operating cash flows</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMS0xLTEtNzU5Mg_59832228-c638-4d7b-b2ad-1e3d60565505">2,198</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMy0xLTEtNzU5Mg_30621033-9330-4029-9718-e8ce58408a6d">5,007</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMS0xLTEtNzU5Mg_73cb1b3f-cd72-4e91-be7d-769905994d5e">6,644</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMy0xLTEtNzU5Mg_54336fdd-1cd8-4bfc-ade9-a9807044fece">14,986</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Noncash investing and financing activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of property and equipment included in accounts payable and accrued expenses</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMS0xLTEtMA_145205e3-065f-4bb9-9061-6405a9d2efa7">370</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMy0xLTEtMA_dec3cbb0-ca73-4577-bb06-d996564ce50b">3,447</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtNS0xLTEtMA_d9a82898-f322-4d46-96c2-2ca56408d66f">518</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Capitalization of software development costs included in accrued expenses and accrued employee expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMS0xLTEtMA_0d5983a7-8d85-431a-9bdb-301a61daa533">383</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMy0xLTEtMA_ca94171c-c7d2-4f41-9441-595f2747c9f6">1,187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtNS0xLTEtMA_fd8df21e-ace8-4e38-b791-a586f4c6d93f">825</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation capitalized for software development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItMS0xLTEtMA_ff34f5f2-88e2-497a-aad6-cd42325b7128">2,087</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItMy0xLTEtMA_826bc353-9036-44be-8c97-c6402589c42e">1,844</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItNS0xLTEtMA_3f49c6f0-5124-4a74-9649-f540189e9247">1,087</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchase consideration for acquisitions included in other current liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="appf:BusinessCombinationConsiderationAccruedButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtMS0xLTEtMA_f65ff69b-6e5a-4463-baed-6e1cc4105574">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:BusinessCombinationConsiderationAccruedButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtMy0xLTEtMA_7f77a049-a939-400b-8d65-5be1997e1e54">5,977</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="appf:BusinessCombinationConsiderationAccruedButNotYetPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtNS0xLTEtMA_e75ee41b-7333-42ac-923d-0d086594f985">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Debt issuance and other financing costs accrued, not paid</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtMS0xLTEtMA_4e429cc9-a33c-4393-a47d-2561f01d5ff1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtMy0xLTEtMA_011dc12e-94e3-4596-835a-648afee8b81e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtNS0xLTEtMA_881ae55a-7abd-4c89-a7b8-ec08d19222eb">371</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;The following table presents a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the total of the same such amounts shown above (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi0xLTEtMS0w_00b26cb2-6a0a-4ddf-83de-55eeec663a93">140,263</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi0zLTEtMS0w_414a23bd-321c-4c7c-8468-805549054d5a">15,813</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi01LTEtMS0w_4074b35a-8d23-4e56-809a-5104936cafb1">74,076</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash included in other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy0xLTEtMS0w_3f726367-2f1c-475c-8e4c-37a925d4f32a">436</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy0zLTEtMS0w_bb082be9-3f58-4cc1-bf51-7ae40ec56716">434</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy01LTEtMS0w_eb290441-ecd1-4a28-8329-29e0e195edd6">430</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cash, cash equivalents and restricted cash</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC0xLTEtMS0w_943bf59c-3c19-4795-b61e-8d70edc3d01f">140,699</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC0zLTEtMS0w_415239a3-6913-48a8-97d2-6dc229bb1bb9">16,247</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC01LTEtMS0w_60a74d38-da22-45e6-8157-4642090bc9c0">74,506</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:3pt;text-align:center"><span><br/></span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes to the Consolidated Financial Statements are an integral part of these statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_91"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">APPFOLIO, INC.</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED AUDITED FINANCIAL STATEMENTS </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_94"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:NatureOfOperations" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMjAxMA_3d42ca7a-cfdd-42a5-bb1f-4e16f08b5ec6" continuedAt="i1e52de2bc49b44e2b066c4359f81b31a" escape="true">Nature of Business</ix:nonNumeric></span></div><ix:continuation id="i1e52de2bc49b44e2b066c4359f81b31a" continuedAt="i42d83a5a2b464826830a841cc8121259"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AppFolio, Inc. ("we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our industry-specific, cloud-based solutions are used primarily by property managers, and also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and their business ecosystems and a system of intelligence designed to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018, our revenue was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg1NQ_6c1cb365-d486-4c8e-a01f-bb24ee9b5fae">310.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg2Mg_d96c39f2-328b-464c-b2e8-7e938c22b831">256.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg2OQ_9eeb5ff7-294c-480c-b81c-6ba51be2d8e2">190.1</ix:nonFraction> million, respectively of which $<ix:nonFraction unitRef="usd" contextRef="ia520f44bc1bd4a69967d96420c544e6b_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMwNw_7a3f35a4-7a28-40c3-8e7a-d9c13fcfddec">284.7</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="i7b9747939dce47579d55925da13ff57c_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMyMw_d0114ee8-df94-4517-82c0-69addd5261b3">231.1</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="i791ab114ec454d5b90c722c12318b53c_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMzOQ_26f0331b-fc48-449c-8f7d-961dd0856487">172.4</ix:nonFraction>&#160;million, respectively, are derived from our software and services offered to the real estate vertical. During certain periods covered by this Annual Report, we also provided software solutions and services to the legal vertical.</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i42d83a5a2b464826830a841cc8121259">On September 30, 2020, we completed our divestiture of <ix:nonFraction unitRef="number" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="INF" name="appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNzE0NjgyNTU5NDI1OQ_2bdd218b-0fde-4805-be25-43b36d358570">100</ix:nonFraction>% of the issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided such legal practice and case management software solutions to our legal customers. We sold MyCase to Mockingbird AcquisitionCo Inc., a Delaware corporation (&#8220;Buyer&#8221;) affiliated with funds advised by Apax Partners LLP, for $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNzE0NjgyNTU5NDI0Mw_3cac8d4b-ec2f-4b08-8cd9-52dc31792ea9">193.0</ix:nonFraction>&#160;million pursuant to a Stock Purchase Agreement, dated September 7, 2020 (the &#8220;Purchase Agreement&#8221;), by and among Buyer, us and MyCase (the &#8220;MyCase Transaction&#8221;). In connection with the closing of the MyCase Transaction, and in accordance with the terms of the Purchase Agreement, we entered into certain ancillary agreements with MyCase, including relating to certain post-closing transition services to be provided by us to MyCase at fair market value, as well as an intellectual property licensing agreement for certain software and patents for which no ongoing licensing fees will be received. We recognized a pre-tax gain on the sale of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTYzNTIzNw_427bd64b-e1eb-4cef-8951-dcfe3a113799">187.7</ix:nonFraction>&#160;million on the MyCase Transaction.</ix:continuation> </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_97"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0Nzg_a271bf75-c0dc-4e4f-969a-abc7f847c7e1" continuedAt="icd9bdd01db584b88a79b4f47d4073d68" escape="true">Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="icd9bdd01db584b88a79b4f47d4073d68" continuedAt="i3d8f5844b9b74031b955329e51ec8fac"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0ODQ_d333f25b-b1c6-45b2-a8f1-c164a5a799a9" escape="true"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reclassification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We reclassified certain amounts in our Consolidated Balance Sheet in the prior year to confirm to the current year's presentation.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ConsolidationPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTQ_cb3e9c60-5225-4c2d-880b-231eab966ae2" continuedAt="i1045c6327de7465cac1fad350b2dcae6" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements include the operations of AppFolio, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. </span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i1045c6327de7465cac1fad350b2dcae6">Our investment in SecureDocs, Inc. (&#8220;SecureDocs&#8221;) is accounted for under the equity method of accounting as we have the ability to exert significant influence, but do not control and are not the primary beneficiary of the entity. Our investment in SecureDocs is not material and any income (loss) activity is not material individually or in the aggregate to our Consolidated Financial Statements for any period presented.</ix:continuation> </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i3d8f5844b9b74031b955329e51ec8fac" continuedAt="i4808206652e748ca957925b0b4f8ce7b"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTc_77d8ce59-ba8c-48bc-b4e4-608b11fbafca" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States. The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of December&#160;31, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of our Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our Consolidated Financial Statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Consolidated Financial Statements.</span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MjY_1967ea5b-9583-4cd3-bddd-db0cec94f502" continuedAt="ia852d463904349589e0f21aaf44b0796" escape="true">Segment Information </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ia852d463904349589e0f21aaf44b0796">Our chief operating decision maker reviews financial information presented on an aggregated and consolidated basis, together with revenue information for our core solutions, Value+ and other service offerings, principally to make decisions about how to allocate resources and to measure our performance. Accordingly, management has determined that we have <ix:nonFraction unitRef="segment" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfOperatingSegments" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjcwOA_7c069ed2-dbad-4d3c-ab5c-40be62780691"><ix:nonFraction unitRef="segment" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjcwOA_b7eadce2-21c3-4706-843e-81f8b03691f0">one</ix:nonFraction></ix:nonFraction> reportable and operating segment.</ix:continuation> </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ConcentrationRiskCreditRisk" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MTE_742f7151-ba99-4fac-9c47-6bda29f8856c" continuedAt="i80fde63ada9c4160a24a1fb25d65267c" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject us to credit risk consist principally of cash, cash equivalents, restricted cash, accounts receivable, investment securities and notes receivable. We maintain cash balances at financial institutions in excess of amounts insured by United States government agencies or payable by the United States government directly. We place our cash with high credit, quality financial institutions. We invest in investment securities with a minimum rating of A by Standard &amp; Poor's or A-1 by Moody's and regularly monitor our investment security portfolio for changes in credit ratings.</span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i80fde63ada9c4160a24a1fb25d65267c">Concentrations of credit risk with respect to accounts receivable and revenue are limited due to a large, diverse customer base.</ix:continuation> No individual customer represented 10% or more of accounts receivable at December&#160;31, 2020 and 2019 or revenue for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MzI_00a7eaf0-bc01-4491-9d4a-4bc055557347" continuedAt="icbd4f7c74ad144b19d9049f2caf74709" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i4808206652e748ca957925b0b4f8ce7b" continuedAt="i106fe1e9c89f4609b4644d2a455fc72d"><ix:continuation id="icbd4f7c74ad144b19d9049f2caf74709" continuedAt="ie1bc9559636f4188b3a1df6c6c950eaf"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Accounting Standard Codification 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, describes a fair value hierarchy based on three levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following: </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Quoted prices in active markets for identical assets or liabilities or funds. </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. </span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"><ix:continuation id="ie1bc9559636f4188b3a1df6c6c950eaf" continuedAt="i7464d746e2d841acaa971ff6c24cb027">Level 3 </ix:continuation></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i7464d746e2d841acaa971ff6c24cb027">- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</ix:continuation> </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1Nzg_36ab5480-209b-4ca2-803e-7c2d71229eb6" continuedAt="i63609e3047d14b23b28b7d031cbc0a01" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Restricted Cash </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We consider all highly liquid investments, readily convertible to cash, and which have a remaining maturity date of three months or less at the date of purchase, to be cash equivalents. Cash and cash equivalents are recorded at fair value and consist primarily of bank deposits, treasury securities, and money market funds. </span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i63609e3047d14b23b28b7d031cbc0a01">Restricted cash of $<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalents" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNTMzMQ_2859b537-f349-493f-9d2a-dcb457e018dc"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalents" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNTMzMQ_c7c1fb82-fd6f-4284-bf98-8fffb795b8b9">0.4</ix:nonFraction></ix:nonFraction> million at December&#160;31, 2020 and 2019, is comprised of certificates of deposits relating to collateral requirements for customer automated clearing house and credit card chargebacks and minimum collateral requirements for our insurance services, which are recorded in other long-term assets.</ix:continuation> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:MarketableSecuritiesPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTA_1d214c1a-9689-4b4d-8fa0-4fb9d2d39fc9" continuedAt="i509ca9394d7d413f8f778eb56f8b7797" escape="true">Investment Securities</ix:nonNumeric></span></div><ix:continuation id="i509ca9394d7d413f8f778eb56f8b7797"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our investment securities currently consist of corporate bonds, United States government agency securities and treasury securities. We classify investment securities as available-for-sale at the time of purchase and reevaluate such classification at each balance sheet date. All investments are recorded at estimated fair value. Unrealized gains and losses for available-for-sale investment securities are included in accumulated other comprehensive income, a component of stockholders&#8217; equity. We classify our investments as current when the period of time between the reporting date and the contractual maturity is twelve months or less and as noncurrent when the period of time between the reporting date and the contractual maturity is more than twelve months.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#8217;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. <ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ProvisionForOtherCreditLosses" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc2Mg_34279cf4-5ca9-4edc-b471-e8ef7d8362c7">No</ix:nonFraction> allowance for credit losses for available-for-sale investment securities was recorded as of December&#160;31, 2020.</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTk_711c3b34-d381-4266-89fb-bd3cd20daad1" continuedAt="iaae1c340e6884e2ba22c70c03f1b91ea" escape="true">Accounts Receivable </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iaae1c340e6884e2ba22c70c03f1b91ea">Accounts receivable are recorded at the invoiced amount, net of an allowance for credit losses. The allowance for credit losses is based on historical loss experience, the number of days that receivables are past due, and an evaluation of the potential risk of loss associated with delinquent accounts. Accounts receivable considered uncollectible are charged against the allowance for credit losses when identified. We do not have any off-balance sheet credit exposure related to our customers.</ix:continuation> At December&#160;31, 2020 and 2019, our allowance for credit losses was not material. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0NzU_d3dcbc99-d8ae-4a29-9030-68294cf8c724" continuedAt="i40999ad4ac8e43698e1dc95bd5196375" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is stated at cost, less accumulated depreciation. Depreciation is calculated using the straight-line method over the estimated useful lives of assets. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDk_43df8cea-c96e-4fb3-841b-137fd74a1954" continuedAt="icbb52021090b4802bb77bf458bd88ed9" escape="true">The estimated useful lives of our property and equipment are as follows: </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><ix:continuation id="icbb52021090b4802bb77bf458bd88ed9" continuedAt="ibfae52e239994efe8d4653b2c2f72aae"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.438%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.723%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.439%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Type</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Depreciation Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i775737621cf8499caf903c657527ac4f_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMS0yLTEtMS0yMzI4_e86ed828-7d5e-422b-8f96-a8e206ec624b">3</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="id0bed8b25dc44f859958e2715fbff35b_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMi0yLTEtMS02NDYx_2867a501-8e03-400b-9da4-0ba646f5c58c">7</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3596c1bc1a4c48b782bc4a165bea69ca_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMy0yLTEtMS0xMzQ0L3RleHRyZWdpb246MDZkNGNiODM0ZDkzNDg4Mzk1OTIwYzA0Yzc3MTk3ZDRfMTA5OTUxMTYyNzc5Mw_8add381d-c1b5-440f-8459-9fe74dc2bc9d">3</ix:nonNumeric> to <ix:nonNumeric contextRef="i8247a60257294e31ae341ca5c7084724_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMy0yLTEtMS0xMzQ0L3RleHRyZWdpb246MDZkNGNiODM0ZDkzNDg4Mzk1OTIwYzA0Yzc3MTk3ZDRfMTA5OTUxMTYyNzc5Nw_e1e8c1a4-6910-49a6-afd8-a2d299cf8386">5</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of remaining life of lease or asset life</span></td></tr></table></ix:continuation></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i40999ad4ac8e43698e1dc95bd5196375">Repair and maintenance costs are expensed as incurred. Renewals and improvements are capitalized. Assets disposed of or retired are removed from the cost and accumulated depreciation accounts and any resulting gain or loss is reflected in our results of operations.</ix:continuation> </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i106fe1e9c89f4609b4644d2a455fc72d" continuedAt="i99b8d743e4024bf9a89d992089fb4507"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:LesseeLeasesPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTE_03fc6a1b-9bf5-4421-a3e2-f81e2e02ed4b" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine if an arrangement is a lease at inception. Operating leases are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease ROU assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments, over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend the lease when it is reasonably certain that we will exercise that option. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease arrangements with lease and non-lease components, which are generally accounted for as a single lease component. Leases with an initial term of twelve months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:InternalUseSoftwarePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM2MjM_c467e7eb-b6a3-4451-a496-47044c13d6aa" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capitalized Software Development Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of <ix:nonNumeric contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfOTg5NQ_abfff17c-51bf-4f94-ae97-d0b1c9a8c927">three years</ix:nonNumeric>. We do not transfer ownership of our software, license, or lease our software to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determined that a <ix:nonNumeric contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5NQ_3ec3ae3b-5670-430a-848f-20faf1e807e0">three year</ix:nonNumeric> life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of <ix:nonNumeric contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc2MQ_958a62e7-b225-4574-8d65-936d9b49bb6a">three years</ix:nonNumeric> before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this <ix:nonNumeric contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5Ng_9f828805-bd68-452c-a6ba-47f5f2a533a0">three year</ix:nonNumeric> estimate, a change in this estimate could produce a material impact on our financial statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTI_cd615e19-f853-45a4-a96f-64ea4194e113" continuedAt="if55da56b525d4caab219502dc1a2ba05" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the estimated fair value of the net tangible and identifiable intangible assets acquired in business combinations. Goodwill is tested for impairment at least annually at the reporting unit level or at other times if an event occurs or circumstances change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the option to assess goodwill for possible impairment by performing a qualitative analysis to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. A quantitative assessment is performed if the qualitative assessment results in a more-likely-than-not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent that the reporting unit&#8217;s carrying value exceeds its fair value. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have <ix:nonFraction unitRef="reportingunit" contextRef="i9ef50e190b0446b6b41c5f0c12f3822b_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportingUnits" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTI3NTQ_8962b89f-510e-4061-91d2-be8ed04281f7">one</ix:nonFraction> reporting unit and we test for goodwill impairment annually during the fourth quarter of the calendar year. Additionally, in connection with the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. Based on the assessments performed at September 30, 2020 and November 1, 2020, we determined it was unlikely that our reporting unit fair value was less than its carrying value and no quantitative impairment test assessment was required. There were no indicators that our goodwill has become impaired since that date, and as such, there was no impairment charges recorded.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLossNetOfTax" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_06c6f32a-ace1-4850-9427-4cdf0b559912"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLossNetOfTax" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_6535a8eb-2b58-48f1-989a-997cbea3789d"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLossNetOfTax" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_7dfc8a99-bd5c-482f-b1cd-d1f252e9d3c3">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment losses were recorded for goodwill during the years ended December 31, 2020, 2019 and 2018. </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i99b8d743e4024bf9a89d992089fb4507" continuedAt="ic747f88dc2e2450096c99799de08a3ae"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="if55da56b525d4caab219502dc1a2ba05">Intangible assets primarily consist of acquired database and technology, non-compete agreements, customer and partner relationships, trademarks and trade names, domain names and patents, which are recorded at cost, less accumulated amortization. We determine the appropriate useful life of our intangible assets by performing an analysis of expected cash flows of the acquired assets. Intangible assets are amortized over their estimated useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.</ix:continuation> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTI_236f77d0-d23d-4f05-8d07-6c73fd1f49b0" continuedAt="i5f82735e941d4f42a07e00c362a22df6" escape="true">Impairment of Long-Lived Assets </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i5f82735e941d4f42a07e00c362a22df6">We assess the recoverability of our long-lived assets when events or changes in circumstances indicate that the carrying value of an asset may not be recoverable or that the useful lives of those assets are no longer appropriate. An impairment charge would be recognized when the carrying amount of a long-lived asset or asset group is not recoverable and exceeds its fair value. The carrying amount of a long-lived asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</ix:continuation> There were <ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_27878548-53ee-4fa2-b1b2-3717b79c6fcd"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_514c3bc6-e1a7-4a6f-99fc-c838c296b08f"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_cde63b38-a654-435f-a934-8a1aa8c35200">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment charges related to the identified long-lived assets for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:BusinessCombinationsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0ODY_5d77f156-f928-468f-bb91-906c70532713" continuedAt="ic5c5cc620b544214ae033c6705020415" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.</span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ic5c5cc620b544214ae033c6705020415">Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred.</ix:continuation> </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDI_db77513a-13cd-400d-a74d-9169d9216ac8" continuedAt="i1a8ba7791cf948029c0666176d3bf814" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generate revenue from our customers primarily for subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Refer to Note 15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue and Other Information</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for the disaggregated breakdown of revenue between core solutions, Value+ services and other revenue. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Core Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription basis for our core solutions. Our subscription fees are designed to scale to the size of our customers' businesses. Subscription fees for our core solutions are charged on a per-unit per-month basis for our property management software solution and on a per-user per-month basis for our legal software solution. Our customers do not have rights to the underlying software code of our solutions, and, accordingly, we recognize subscription revenue over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. The term of our core solutions subscription agreements typically ranges from <ix:nonNumeric contextRef="i615de3470d494946b4a5d94b44b0e6ec_D20200101-20201231" format="ixt-sec:durwordsen" name="appf:ContractTermSubscriptionAgreement" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc4OA_20ba09ab-da45-4034-880c-312e6ab03bb0">one month</ix:nonNumeric> to <ix:nonNumeric contextRef="i770e64f46e564319a6c18b27195bb0d8_D20200101-20201231" format="ixt-sec:durwordsen" name="appf:ContractTermSubscriptionAgreement" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc4OQ_6a5f03cf-319b-4e08-b2b4-f8eeaa8b2a1d">one year</ix:nonNumeric>. We typically invoice our customers for subscription services in monthly or annual installments, in advance of the subscription period. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Value+ Services</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription or usage basis for our Value+ services. Subscription-based fees are charged on a per-unit basis. We typically invoice our customers for subscription-based services in monthly installments, in advance of the subscription period. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. Usage-based fees are charged on a flat rate per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our customers for usage-based services on a monthly basis for services rendered in the preceding month. In addition, some subscription or usage-based Value+ services, such as fees for electronic payment services, are paid by either our customers or clients of our customers at the time the services are rendered. </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="ic747f88dc2e2450096c99799de08a3ae" continuedAt="i4709c3d6e11f46a2a39e7dad2c334c0b"><ix:continuation id="i1a8ba7791cf948029c0666176d3bf814" continuedAt="i648e2a2a769b49658d672abe44c42598"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We work with third-party partners to provide certain of our Value+ services. For these Value+ services, we evaluate whether we are the principal, and report revenue on a gross basis, or the agent, and report revenue on a net basis. In this assessment we consider if we obtain control of the specified services before they are transferred to the customer, as well as other indicators such as whether we are the party primarily responsible for fulfillment, and whether we have discretion in establishing price.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other revenue include fees from one-time services related to the implementation of our software solutions and other recurring or one-time fees related to our customers who are not otherwise using our core solutions. This includes legacy customers of businesses we have acquired where the customers haven't migrated to our core solutions. The fees for implementation and data migration services are billed upon signing our core subscription contract and are not recognized until the core solution is accessible and fully functional for our customer's use. Other services are billed when the services rendered are completed and delivered to the customer or billed in advance and deferred over the subscription period.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contracts with Multiple Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Deferred Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record deferred revenue when cash payments are received in advance of our performance. During the twelve months ended December&#160;31, 2020 and 2019, we recognized revenue of $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjEyNDg_9343c4f1-7b97-4961-9f43-48de4c409313">4.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjEyNTU_45f1cd2f-7f49-472e-8867-c0711d2dcf07">3.4</ix:nonFraction> million, respectively, that were included in the deferred revenue balances at December&#160;31, 2019 and 2018, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our payment terms vary by the type of our customer and the products or services offered. The time between invoicing and when payment is due is not significant. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined that our contracts do not include a significant financing component.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Practical Expedients</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the transaction price, we have applied the practical expedient which allows us not to adjust the consideration for the effects of the time value of money as long as the time between when we transfer the promised service to a customer and when a customer pays is one year or less. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not disclose the value of unsatisfied performance obligations for contracts with an original expected term of one year or less.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in proportion to the amount we have the right to invoice for certain core solutions and Value+ services revenue, as that amount corresponds directly with our performance completed to date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Costs </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs, which primarily consist of sales commissions, are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized on a straight-line basis over a period of benefit that we have determined to be <ix:nonNumeric contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" format="ixt-sec:durwordsen" name="us-gaap:CapitalizedContractCostAmortizationPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxODYzNg_9f626e5c-edea-4c18-b881-be2693690452">three years</ix:nonNumeric>. We typically do not pay commissions for contract renewals. We determined the period of benefit by taking into consideration our customer contract term, the useful life of our internal-use software, average customer life, and other factors. Amortization expense for the deferred costs is allocated based on the employee's department and included within</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sales and marketing expense in the accompanying Consolidated Statements of Operations. </span></div></ix:continuation></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i4709c3d6e11f46a2a39e7dad2c334c0b" continuedAt="i7ba7e7e0520d448c9af63835e1217ffa"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs were $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzNDI_d53bf0ab-2d32-42c0-8a75-b442dbe6bb2d">10.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzNDk_722f0bec-de7b-43e1-9181-da04d0d73a92">9.5</ix:nonFraction> million at December&#160;31, 2020 and 2019, respectively, of which $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNetCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzODk_f730f950-73b9-4a48-bd50-4203bcf8b8a0">5.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNetCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzOTY_a63369fd-34c4-4ee0-ae8a-077c9770d85d">4.8</ix:nonFraction> million, respectively, are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNetNoncurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM0NzY_80128b30-70cf-4147-a914-60a542e0b765">4.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNetNoncurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM0ODM_c4944614-dd47-4d27-a5b3-edf328e41d5f">4.6</ix:nonFraction> million, respectively, are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the accompanying Consolidated Balance Sheets. Amortization expense for deferred costs was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM2MjM_151249cb-14be-4f0c-b847-f9e6d115103e">5.8</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM2MzA_55611227-e385-4891-810c-e7ea36f191a9">4.2</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTY0OTI2NzU3NDM2MA_4b363cdc-ba9d-42dc-989f-837e57e8fabe">2.0</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019, and 2018, respectively. For the&#160;years ended&#160;December&#160;31, 2020 and 2019, no impairments were identified in relation to the costs capitalized for the periods presented.</span></div><ix:continuation id="i648e2a2a769b49658d672abe44c42598"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NTY_e333e0d2-783e-4ea2-be92-c5a7543a0aaa" continuedAt="ib5bd4581391947cfb5c101ffa99056be" escape="true">Sales and Marketing </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ib5bd4581391947cfb5c101ffa99056be" continuedAt="if07506c5136a4c3cb2d280aaa6dd794f">Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. </ix:continuation>Advertising expenses were $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AdvertisingExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MDc_d29a94c0-a6f1-452d-b1aa-36350ef7584b">7.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AdvertisingExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MTE_eb5cb96b-f333-4678-8951-223d49610ccb">5.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AdvertisingExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MTg_3109e9db-0816-42ce-a7eb-84791817e070">4.5</ix:nonFraction> million for each of the years ended December&#160;31, 2020, 2019 and 2018, respectively, and are expensed as incurred. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTY_520cdf33-b239-4e40-be3b-32dc38cda872" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Product Development </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.</span></div></ix:nonNumeric><ix:continuation id="if07506c5136a4c3cb2d280aaa6dd794f"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs.</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MDM_af8b0e3c-4121-4381-9c5e-7165c46d579a" continuedAt="i154e423bb09a4ea28b961ed9b70da227" escape="true">Depreciation and Amortization </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i154e423bb09a4ea28b961ed9b70da227">Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.</ix:continuation> </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:CompensationRelatedCostsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MzY_85d352f5-1247-4547-969f-7fd3afffefe5" continuedAt="i50e40db33beb452999e2656a7da7b8fa" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize stock-based compensation expense for stock-based awards granted to employees and directors that can be settled in shares of our common stock. We estimate the fair value of stock options and performance-based stock options ("PSOs"), using the Black-Scholes option-pricing model. We estimate the fair value of restricted stock awards ("RSAs"), restricted stock units ("RSUs") and performance-based RSUs or performance share units ("PSUs") based on the fair value of our common stock on the date of grant.</span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i7ba7e7e0520d448c9af63835e1217ffa" continuedAt="i2011bd9beed3449d97f50ab019fc3a1b"><ix:continuation id="i50e40db33beb452999e2656a7da7b8fa" continuedAt="i9cc7f3b814cb4e35bc1f341c3dda4778"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019, and 2018 we did not grant time-based stock options or PSOs. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs generally vest in equal tranches over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0">four</span> annual periods and are expensed on a straight-line basis over the vesting period. The shares underlying the RSU grants are not issued and outstanding until the applicable vesting date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance-Based Equity Awards </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our PSUs include performance conditions that require us to estimate the probable outcome of the performance condition. This assessment is based on management's judgment using internally developed forecasts and assessed at each reporting period. Compensation cost is recorded if it is probable that the performance condition will be achieved. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. PSUs will vest upon achievement of the relevant performance metric once such calculation is reviewed and approved by our Board of Directors. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Forfeiture Rate</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i9cc7f3b814cb4e35bc1f341c3dda4778">We estimate a forfeiture rate to calculate our stock-based compensation expense for our stock-based awards. The forfeiture rate is based on an analysis of actual forfeitures. We will continue to evaluate the appropriateness of the forfeiture rate based on actual forfeiture experience, analysis of employee turnover, and other factors. Changes in the estimated forfeiture rate can have a significant impact on our stock-based compensation expense as the cumulative effect of adjusting the rate is recognized in the period the estimated forfeiture rate is changed. If a revised forfeiture rate is higher than the previously-estimated forfeiture rate, an adjustment is made that will result in a decrease to our stock-based compensation expense recognized in our Consolidated Financial Statements. If a revised forfeiture rate is lower than the previously-estimated forfeiture rate, an adjustment is made that will result in an increase to our stock-based compensation expense recognized in our Consolidated Financial Statements.</ix:continuation> </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:IncomeTaxPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDc_440e533c-09f6-43d0-a146-868358d218f0" continuedAt="i583d3aabf86b4bbaa3d3e84a85112d5c" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.</span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:continuation id="i583d3aabf86b4bbaa3d3e84a85112d5c">Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations.</ix:continuation> </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i2011bd9beed3449d97f50ab019fc3a1b" continuedAt="i8ca01812c9364d12bfc4381aa58f4b44"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:EarningsPerSharePolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MTA_d617a603-626f-4fbf-a4f3-cb9d456d672d" continuedAt="i7361ae7cee67494d8d68a2a8e01ff2c2" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income per Share</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share includes no dilution and is computed by dividing net income for the period by the weighted average number of common shares outstanding during the period. Diluted net income per share is computed by dividing net income for the period by the weighted average number of shares of common stock and potentially dilutive common stock outstanding during the period. The dilutive effect of outstanding options and equity incentive awards is reflected in diluted net income per share by application of the treasury stock method. The calculation of diluted net income per share excludes all anti-dilutive common shares.</span></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i7361ae7cee67494d8d68a2a8e01ff2c2">The net income per common share was the same for our Class A and Class B common shares because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below.</ix:continuation> <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1Njg_eeeadfe7-5132-49fe-b593-6679c686791c" continuedAt="ibb3e9a1cbf0645a3a4f7121d64fbd707" escape="true">The following table presents a reconciliation of our weighted average number of Class A and Class B common shares used to compute net income per share (in thousands):</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><ix:continuation id="ibb3e9a1cbf0645a3a4f7121d64fbd707"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:69.281%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.284%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.284%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi0xLTEtMS0w_e2b2ba02-581e-4267-8759-9a59216f0e3b">34,269</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi0zLTEtMS0w_26a409da-86c9-4415-8114-f0eea91fbde2">34,020</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi01LTEtMS0w_ba10db04-2639-444d-b1c1-f4769ef9a9c3">34,139</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Weighted average unvested restricted shares subject to repurchase</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy0xLTEtMS0w_71c64060-3022-49cf-8fda-7afbe2309f18">5</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy0zLTEtMS0w_be58a5f6-dd27-47ba-82ff-979ee434c3af">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesRestrictedStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy01LTEtMS0w_0db3264d-9288-4db5-afc6-053d4bd8c724">11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC0xLTEtMS0w_a8ffae71-91c8-4023-92ba-d89403f2a8d3">34,264</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC0zLTEtMS0w_ebc27477-8c85-4ded-a75e-758e3d2b721f">34,016</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC01LTEtMS0w_2d0ed218-c911-474f-8f4e-8c2f89768ef7">34,128</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi0xLTEtMS0w_2f61b05a-5f5a-4075-be52-58506995f317">34,264</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi0zLTEtMS0w_611da5bb-610f-4b9c-9708-976e76ea59af">34,016</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi01LTEtMS0w_93033314-a4be-428c-8ae5-4cfc5f191054">34,128</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy0xLTEtMS0w_e1900b46-c0e9-4532-a1c9-de9b22e7f82c">1,449</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy0zLTEtMS0w_76a4504d-4dd9-4d57-97b8-852f207d2b71">1,551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy01LTEtMS0w_2ee74b9d-8aec-4e61-8625-64a3e031fb7b">1,434</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; diluted</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC0xLTEtMS0w_340da975-314b-4e31-ac27-a1479a04afe7">35,713</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC0zLTEtMS0w_2dea9132-25c7-4107-8fe1-baa83a73bc5c">35,567</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC01LTEtMS0w_9401ff53-2580-407b-98b5-c4b4494ee753">35,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018, an aggregate of <ix:nonFraction unitRef="shares" contextRef="i0d3eeb8943cc4fc3a192ffa175deb491_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1MjQ_740657a3-3b5f-4ba6-81a0-ad70debc463b">79,000</ix:nonFraction>, <ix:nonFraction unitRef="shares" contextRef="i84676c5ab81f419796cc34238a67fe65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1Mjg_5593ef2a-43cd-4617-bee8-240d73dc3c04">187,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i5bd52c1973244553a751a761f389ca66_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1MzU_c4b4e212-68ec-4a43-abbf-20ca160f418d">358,000</ix:nonFraction> shares, respectively, underlying PSOs and PSUs were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon satisfaction of pre-defined performance measures and their respective performance measures have not been met. RSUs with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg3MA_6e9b3296-7f77-4472-8170-da0437559b8a" continuedAt="i3ce5af86fb9d44529613a881d84d45f1" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2018</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2014, the Financial Accounting Standards Board ("FASB") issued the New Revenue Standard, which requires an entity to recognize the amount of revenue to which it expects to be entitled for the transfer of promised goods or services to customers. The New Revenue Standard also includes Subtopic 340-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Assets and Deferred Costs - Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which discusses the deferral of incremental costs of obtaining a contract with a customer.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted the New Revenue Standard at January 1, 2018 using the modified retrospective transition method applied to those contracts which were not completed at that date. We recognized the cumulative effect of initially applying the New Revenue Standard as an adjustment to the opening balance of retained earnings. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of the New Revenue Standard did not have an impact on our revenues. It did, however, have a significant impact related to the deferral of incremental costs of obtaining contracts. Prior to the adoption of the New Revenue Standard, our commissions were expensed as incurred. </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i8ca01812c9364d12bfc4381aa58f4b44" continuedAt="ie32d0c3bbe6749db8ee6f00e7103704c"><ix:continuation id="i3ce5af86fb9d44529613a881d84d45f1" continuedAt="ib5a05d35555e43f79241e6c275c26dd3"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTczMjU0NQ_51f27b3a-a3f8-453e-a41e-1e2e656e4edc" continuedAt="i9d459b1bc31941dfa06b94d937e2c2c4" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.894%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.792%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2017</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi0xLTEtMS03NjU3_d678b62e-c662-44f8-848d-310da10a87f7">4,546</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi0zLTEtMS03NjU3_0367efbb-7378-428d-8f74-bdb5c3f9d8d6">1,148</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi01LTEtMS03NjU3_1067bbbe-a84f-4c99-967a-f9e96093f345">5,694</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy0xLTEtMS03NjU3_87e6bc0e-0a4a-453d-832b-0738f737ea99">1,238</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy0zLTEtMS03NjU3_6968f5f7-9419-4648-878e-15dc3384f646">1,816</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy01LTEtMS03NjU3_6114d911-7208-46d7-b2ad-cd23e20989b7">3,054</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi0xLTEtMS03NjU3_52709107-4ac7-4d2e-a74f-ea30956c8b06">67,247</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi0zLTEtMS03NjU3_a43fd715-68af-4d6b-a190-0ce835022816">2,964</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi01LTEtMS03NjU3_35e49ae7-c84a-4419-93f5-b254cbd8de9e">64,283</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2019</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2016, the FASB issued ASU No. 2016-02, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ("ASU 2016-02"), which requires an entity to recognize ROU assets and lease liabilities on its balance sheet and disclose key information about leasing arrangements. ASU 2016-02 offers specific accounting guidance for a lessee, a lessor and sale and leaseback transactions. Lessees and lessors are required to disclose qualitative and quantitative information about leasing arrangements to enable a user of the financial statements to assess the amount, timing and uncertainty of cash flows arising from leases. In July&#160;2018, the FASB issued ASU No. 2018-11, Leases (Topic 842): Targeted Improvements ("ASU 2018-11"). Among other things, ASU 2018-11 provides administrative relief by allowing entities to implement the lease standard on a modified retrospective basis (the "Optional Transition Method"). Effectively, the Optional Transition Method permits us to adopt the lease standard through a cumulative effect adjustment to our opening balance sheet as of January 1, 2019, and report under the new lease standard on a post-adoption basis. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted ASU 2016-02 effective January 1, 2019, using the Optional Transition Method. We elected the package of practical expedients permitted under the transition guidance, which allows us to carry forward our historical lease classification, our assessment of whether a contract is or contains a lease, and our initial direct costs for any leases that existed prior to adoption of the new lease standard. The comparative information has not been recast and continues to be reported under the accounting standards in effect for those periods. We updated our accounting policies, processes, internal controls and information systems that were required to meet the new lease standard's reporting and disclosure requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of ASU 2016-02 had a material impact on our Consolidated Balance Sheets, but did not have an impact on our Consolidated Statements of Operations or our Consolidated Statements of Cash Flows. The most significant impact was the recognition of ROU assets and lease liabilities for operating leases.&#160;We also reclassified prepaid and deferred rent to the ROU asset balance as of January 1, 2019.</span></div><ix:continuation id="i9d459b1bc31941dfa06b94d937e2c2c4"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.958%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.768%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.967%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.768%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.967%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.772%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi0xLTEtMS05MTIz_46a693fc-2465-4f7f-8d32-06d4fbd71f1a">11,775</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101" decimals="-3" sign="-" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi0zLTEtMS05MTI1_f9183bee-d261-4a41-835f-42672d2dd012">317</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi01LTEtMS05MTI3_5561cd7a-7bbb-4663-b6c9-3776381ca2ca">11,458</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy0xLTEtMS05MTIz_a38b75ff-bff7-42a0-a0c7-60c5a84aa6ea">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy0zLTEtMS05MTI1_622c85c3-8c77-4d4e-8fc8-68b1cc5390ac">16,945</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy01LTEtMS05MTI3_37fece85-60c5-475b-a5cb-4dbc1a455ad4">16,945</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi0xLTEtMS05MTI5_3f8e0efc-9fc4-43af-a47a-ccf4f88fbb50">1,447</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi0zLTEtMS05MTMx_6d1fe97a-e5c1-4a72-aef3-e2378ec63b5c">3,493</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi01LTEtMS05MTMz_e32df864-b1dd-49f7-b16f-72c2ddae23d9">4,940</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy0xLTEtMS05MTI5_c417967e-908b-49d8-b2ca-f711fa366a39">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy0zLTEtMS05MTMx_add1779f-401c-47a0-81cc-1ca085050e8b">20,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy01LTEtMS05MTMz_a2761ade-afaf-4820-8510-71c2e148a402">20,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC0xLTEtMS05MTI5_a2aec41d-00c2-4866-99c0-0606f4a66c0f">7,080</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC0zLTEtMS05MTMx_ba8cc892-9f12-4d62-afc7-b2a3ee942a5b">6,921</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC01LTEtMS05MTMz_8a479641-1895-431c-aae9-1848ee4164db">159</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2020</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div></ix:continuation></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="ie32d0c3bbe6749db8ee6f00e7103704c"><ix:continuation id="ib5a05d35555e43f79241e6c275c26dd3"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div></ix:continuation></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_103"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTE_604c4269-63c0-469d-bd90-db20858b6b52" continuedAt="i0843d47ff3c346f58739f623fa0bf33f" escape="true">Divestitures and Business Combinations</ix:nonNumeric></span></div><ix:continuation id="i0843d47ff3c346f58739f623fa0bf33f" continuedAt="i567c911f83634c2b97e7b936a55130e4"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Divestiture of MyCase</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 30, 2020, we completed the MyCase Transaction for $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyNjA_b1090b0f-4b25-4cc9-98de-8dc22c4b4dcc">193.0</ix:nonFraction>&#160;million, consisting of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyNzY_47ef9d1e-29b7-41ec-b739-2f8886864b80">192.2</ix:nonFraction>&#160;million of cash proceeds, plus a $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyOTI_a15ebfd0-037a-4885-99eb-b14346d805ce">2.2</ix:nonFraction>&#160;million employee retention bonus pool funded by us, less cash divested of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashDivestedFromDeconsolidation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMDY_38e68e37-950d-4d50-b482-c8a8da556f15">0.8</ix:nonFraction>&#160;million and a preliminary working capital adjustment of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMjA_7d43df11-12d2-49d0-a060-e1f4393372ff">0.6</ix:nonFraction>&#160;million. The retention bonus pool is refundable to us to the extent that MyCase employees are terminated prior to the retention period, which is <ix:nonNumeric contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" format="ixt-sec:durwordsen" name="appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzcxNDY4MjU1OTU0Nzk_db8326e3-8fd8-4077-b2cf-444e6256e3fe">one year</ix:nonNumeric> from the closing date of the MyCase Transaction. A portion of the cash proceeds was used to pay all outstanding borrowings under the Credit Facility. Refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-Term Debt,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements for more information about the termination of the Credit Facility. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized a pre-tax gain on the sale of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMzQ_427bd64b-e1eb-4cef-8951-dcfe3a113799">187.7</ix:nonFraction>&#160;million on the MyCase Transaction, consisting of cash proceeds of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzNTA_2af614ba-532a-432d-b87d-2eea4cc61008">192.2</ix:nonFraction>&#160;million, less net assets divested of $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzNjY_9b6ef110-34b2-4ab4-9f09-5dc7961ece39">4.6</ix:nonFraction>&#160;million. Net assets divested is primarily comprised of capitalized software development costs of $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzODA_d95fa78d-9aed-4419-9bf3-70ed60f46cc6">3.9</ix:nonFraction>&#160;million, deferred revenue of $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzOTQ_5a434727-cf1b-4df2-9db5-6ac0308e3e7c">2.8</ix:nonFraction>&#160;million and goodwill allocated to MyCase of $<ix:nonFraction unitRef="usd" contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzI0MDg_47104c53-14ff-4463-8de1-98464304fd53">2.3</ix:nonFraction>&#160;million. The gain on the sale is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Consolidated Statements of Operations. Income received in relation to the transition services provided by us to MyCase of $<ix:nonFraction unitRef="usd" contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzY1OTcwNjk3ODE2Njc_5e52cd9a-9b7e-434d-a6c0-35e443a12c54">1.1</ix:nonFraction>&#160;million is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Consolidated Statements of Operations. Refer to Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, of our Consolidated Financial Statements for more information about the MyCase Transaction.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of Dynasty&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 7, 2019, we acquired&#160;<ix:nonFraction unitRef="number" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="INF" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzkw_d09ef0d9-943a-4672-aeca-8548f5f6e986">100</ix:nonFraction>%&#160;of the voting equity interest of Dynasty Marketplace, Inc. ("Dynasty") for $<ix:nonFraction unitRef="usd" contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107" decimals="-5" format="ixt:numdotdecimal" name="appf:BusinessCombinationConsiderationTotalPriorToAdjustments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzU2OQ_445cb0aa-999d-4ef0-9377-277406e0e48c">60.2</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107" decimals="-5" format="ixt:numdotdecimal" name="appf:BusinessCombinationConsiderationTransferredEscrowAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzU4Mg_e1870e7f-93f3-47a4-b1fe-5bd1d6e79da7">6.0</ix:nonFraction> million the "Holdback Amount") was retained by us to satisfy any necessary adjustments, including without limitation certain indemnification claims. The balance of the Holdback Amount, less any amount retained with respect to any unresolved indemnification claims, was released to the stockholders of Dynasty on January 10, 2020 in accordance with the terms of the purchase agreement. Dynasty is a provider of advanced artificial intelligence solutions for the real estate vertical, which automate leasing communications, replace manual tasks and help customers grow their portfolios.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction was accounted for using the acquisition method and, as a result, assets acquired and liabilities assumed were recorded at their estimated fair values as of the acquisition date. Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies and comparable companies, estimates of future revenue and cash flows, discount rates, and the software decay rate and database ramp up rate. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTY_dfb286f2-85a7-45ee-9a53-e3de13fa7254" continuedAt="id8e108ff0cd644318a0c003bf161868f" escape="true">The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:</ix:nonNumeric></span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i567c911f83634c2b97e7b936a55130e4"><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><ix:continuation id="id8e108ff0cd644318a0c003bf161868f"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.707%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.768%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount <br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Useful Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEtMi0xLTEtMA_f258066f-6045-4bc4-bb15-ce0c9fe70130">305</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identified intangible assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4c7848f33a1048f88ca559d8addb4dd3_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzMtMi0xLTEtMA_d5ca50f4-6cf5-46c5-8b26-61b1d6651a37">5,730</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ie3749537f4934e1b9c5e97c74cec129c_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzMtNC0xLTEtMA_c4ebc459-985e-488a-8dd0-687286d3df62">4.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d875afba5694b19b69b6e6b34d4d43a_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzQtMi0xLTEtMA_e1fff8f0-f091-46cb-8d28-8c5a9edcf5ca">4,710</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if70a6727567142929980877fade17471_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzQtNC0xLTEtMA_a86a9eb6-5dd6-4e48-8f4f-22b6b4160666">10.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icd2278e6bb104cf2b98610aaafb99846_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzUtMi0xLTEtMA_387b484b-2114-4504-8984-b671f64b6138">1,110</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i609d9b36182b4d279927c63935b1622a_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzUtNC0xLTEtMA_52fde09a-3c51-4968-a6e3-94fa8a4b0fc3">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ce17488f92b40949fc9278d4c2f6360_I20190107" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzYtMi0xLTEtMA_e3f623ae-7b57-492d-8fcc-378e43b0bbbc">470</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i2bed893afd274119b5f5e1aee82e3a43_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzYtNC0xLTEtMA_72284c7f-3a2b-415d-85ce-fe3e2e9dd832">1.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark &amp; trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4d0a8d8ecf0841258eb6f60a7f8f23e4_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzctMi0xLTEtMA_dda63ee4-1f90-4d2a-a763-55e3cb3ee0a4">1,390</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i7d87e35597934392b2904d7e25a9f6c4_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzctNC0xLTEtMA_c651b0ee-f2f0-4232-9a05-380d6344d9f1">10.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreement</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i43099fb76a384b87b43d53efd2a3909c_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzgtMi0xLTEtMA_78f136aa-973f-4e5f-8add-2b41932ed7ae">7,340</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i00cae34e5d5446ba8e1a2cdd41b544d9_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzgtNC0xLTEtMA_1bee1e79-b171-4dc8-b842-1ee7a263eca1">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzktMi0xLTEtMA_2de846a3-1a1f-4772-8db6-59422a30944d">20,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107" format="ixt-sec:duryear" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzktNC0xLTEtMA_83955f6a-da47-4032-8bdb-cd55b8e2c2b5">6.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEwLTItMS0xLTA_3d094d01-4619-43cf-8017-0ceaa9bf6add">42,877</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzExLTItMS0xLTA_f8b3201b-cdd6-4115-9412-859cf48ebe3e">35</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEyLTItMS0xLTA_078d6c7d-c111-4686-aed9-986e41fc2013">63,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued and other liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE0LTItMS0xLTA_464521fe-500f-474d-8f04-9467c1256959">48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liability, net </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE1LTItMS0xLTA_b155cb74-150b-4a97-a46f-b94979c4a3c5">3,711</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE2LTItMS0xLTA_d8b64ba6-4210-48ee-9c7b-1512025de9e7">3,759</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE3LTItMS0xLTA_1637442a-8c5a-49be-827c-db9597d0b96c">60,208</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></ix:continuation></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is mainly attributable to synergies expected from the acquisition and assembled workforce and is non-deductible for U.S. federal income tax purposes. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We incurred a total of $<ix:nonFraction unitRef="usd" contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzIwNzI_a0255127-65c8-499e-b61e-9d9528b87ae1">0.3</ix:nonFraction> million in transaction costs related to the acquisition and expensed all transaction costs incurred during the period in which such service was received. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Pro Forma Results of Operations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma information has been prepared for illustrative purposes only, and assumes that the aforementioned Dynasty acquisition occurred on January 1, 2018, and includes pro forma adjustments related to the amortization of acquired intangible assets, elimination of historical interest and amortization expense, income taxes, compensation arrangements, and the transaction costs incurred. The unaudited pro forma results have been prepared based on estimates and assumptions, which we believe are reasonable; however, they are not necessarily indicative of the consolidated results of operations had the acquisitions occurred at the beginning of the periods presented, or of future results of operations. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTk_cf1df07b-b2f9-4b40-8e25-58ba4b91168b" continuedAt="if4a8aa5a7df7447fbe4e92f65599a10b" escape="true">The unaudited pro forma results are as follows (in thousands):</ix:nonNumeric></span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><ix:continuation id="if4a8aa5a7df7447fbe4e92f65599a10b"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.707%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.768%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzItOC0xLTEtMA_3a984d38-ca90-40cd-970a-480030941f31">256,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzItOC0xLTEtNjUzMw_447cb717-3306-42eb-a099-5af74af92b6a">193,405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzMtOC0xLTEtMA_b9113cf7-6fe4-4d22-879b-9671343e41fa">32,339</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzMtOC0xLTEtNjUzMw_79354319-a3a4-44fa-9d49-272c8d5b1b5a">5,937</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_106"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NjI_0a26cd6c-9b2f-4674-bf77-876250706392" continuedAt="i41ab92d6e5db4fdc82812275668ce979" escape="true">Investment Securities and Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="i41ab92d6e5db4fdc82812275668ce979" continuedAt="i30dcfe7edddf405d8a3a27d3a5099d35"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment Securities</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NzM_05b8224d-bb99-41f2-a17f-a33524ae3e41" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment securities classified as available-for-sale consisted of the following at December&#160;31, 2020 and 2019 (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtMS0xLTEtMA_46cdb534-761e-4330-b7b7-9041ea8cc535">17,104</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtMy0xLTEtMA_2a4aea00-3d86-4e15-a9e2-2a681a229d31">29</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtNS0xLTEtMA_8039c8e7-f8ce-41a5-b8ac-801ab1c0edc1">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtNy0xLTEtMA_f89e5d36-86db-4cd7-bfde-5d70658e8f26">17,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtMS0xLTEtMA_13cc709b-4e08-4dfb-a66f-d23afe33e3d4">17,847</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtMy0xLTEtMA_e7f67e1a-ef27-47a7-a0d6-1a26a0583f73">47</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtNS0xLTEtMA_d8da7472-0eff-46a9-ac0c-890ceb5058a6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtNy0xLTEtMA_4c759fa6-4dc5-4213-83a7-06bbb23f3e8e">17,894</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtMS0xLTEtMA_bd0f5f99-4a5f-4cbe-b2a9-cf3b4ce4d107">34,951</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtMy0xLTEtMA_4761ce93-2861-4749-a98d-11e49f485cf5">76</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtNS0xLTEtMA_e09a1f5c-da9b-4473-973b-bf86e9856b99">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtNy0xLTEtMA_91d986ea-bf33-4668-8e74-cc5cc600537f">35,026</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:5pt;margin-top:23pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItMS0xLTEtMA_bb4abbf0-143f-4a76-8f59-c8e5cfefacab">9,597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItMy0xLTEtMA_f03745fd-cc6c-4ed2-940f-6ec5c4a2852c">18</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItNS0xLTEtMA_d552be53-2bd6-4f7e-8f06-4df748a76ec9">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItNy0xLTEtMA_20689a00-e515-4a47-8961-1314b2f3820a">9,614</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtMS0xLTEtMA_efc1a045-4783-4d22-b788-d4890052d1f3">11,101</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtMy0xLTEtMA_3a9f78d3-4a0f-4ce8-bbc1-9f0b0f3bab01">17</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtNS0xLTEtMA_42910f81-ae52-41f5-a824-de28ec48e52f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtNy0xLTEtMA_16a0acf7-1cca-4ea0-afa7-f8b9354f39d1">11,118</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtMS0xLTEtMA_ecbd43b9-dc4f-4782-b215-374c2a98d9ec">14,222</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtMy0xLTEtMA_ea8eac0c-cd24-4e53-b725-26833911f540">12</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtNS0xLTEtMA_37738d6a-ff30-45be-98df-8e0cc6535c2d">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtNy0xLTEtMA_cb716e10-4d83-47a8-8f0f-eed97c1bce8f">14,233</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtMS0xLTEtMA_5f1348d7-fa1a-4eef-b6d7-1134707f49a2">34,920</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtMy0xLTEtMA_5f770a2e-7d83-410f-8753-d7f87129b581">47</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtNS0xLTEtMA_9a4d2995-97cd-4987-b976-d0ebc3198e0d">2</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtNy0xLTEtMA_ca217e61-146f-4a5d-931c-6dabe02a7803">34,965</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December 31, 2019, the unrealized losses on investment securities which have been in a net loss position for twelve months or greater were not material. These unrealized losses are considered temporary and there were no impairments considered to be "other-than-temporary" based on our evaluation of available evidence, which includes our intent to hold these investments to maturity or a recovery of the cost basis.</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NTk_b2d1b1f6-49dc-49b6-8079-d189523cb9bc" escape="true"><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December&#160;31, 2020 and 2019, the contractual maturities of our investments did not exceed&#160;<ix:nonNumeric contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" format="ixt-sec:durmonth" name="appf:AvailableForSaleSecuritiesMaximumContractualMaturity" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzY4MQ_5320cff7-f360-47fa-9c82-561403d9e94f"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:durmonth" name="appf:AvailableForSaleSecuritiesMaximumContractualMaturity" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzY4MQ_9e0d3dd1-a971-4f5c-8b42-f9f0f7fb5096">36</ix:nonNumeric></ix:nonNumeric> months. The fair values of available-for-sale investments, by remaining contractual maturity, are as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.131%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.964%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItMS0xLTEtMA_a7c19df3-6ad6-4b3d-8825-69e95d1802c5">28,197</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItMy0xLTEtMA_f8ebed9b-d812-4d21-ba9e-91a514677360">28,256</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItNS0xLTEtMA_7c4b4704-c35d-4668-9015-09c148391a53">22,846</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItNy0xLTEtMA_070c8be8-e811-439c-864d-686f7ded8569">22,876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through three years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtMS0xLTEtMA_4f082ebd-25fb-404c-a851-658b2a26fb66">6,754</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtMy0xLTEtMA_d4bc1567-6dcc-474d-8a5e-3135c82a8a4d">6,770</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtNS0xLTEtMA_b2d08572-1c2d-450e-9feb-06d4cfb4e566">12,074</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtNy0xLTEtMA_f0075045-fe0e-4e25-96da-fb87e640c5d1">12,089</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtMS0xLTEtMA_2526f93d-2ae0-4b19-9ae2-97945829f527">34,951</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtMy0xLTEtMA_c365a1f2-0d51-460d-8fce-4fc4665d6a4d">35,026</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtNS0xLTEtMA_3f342ecd-40e3-4032-a317-172d9942c28e">34,920</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtNy0xLTEtMA_78748acd-ba88-4043-8fb0-359b631972c0">34,965</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfRealizedGainLossTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NDc_c27619dd-4988-43a5-94d9-269951ad7c50" continuedAt="ie86837a039cb4d9a8960e12e70feccfd" escape="true"><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItMS0xLTEtMA_cacf4c6b-30aa-4865-ab9f-503d9849e629">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItMy0xLTEtMA_d3d0d1ac-259a-4ec9-9cae-a797e9bea7d9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItNS0xLTEtMA_14cafe91-2581-4151-87da-eb6e107c86a3">4,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItNy0xLTEtMA_78de085e-1bd8-4368-b0d4-c99752cc4809">5,600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtMS0xLTEtMA_e690a17d-4d79-40c1-b985-a04de28f3f47">25</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtMy0xLTEtMA_0c20d9e1-e0ef-4c2c-9cad-02b2c34d3062">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtNS0xLTEtMA_7f125cf5-2c53-47c8-860d-dff6d1577c22">7,878</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtNy0xLTEtMA_c3824b5b-b1a8-4c92-8191-46054d510588">1,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtMS0xLTEtMA_62bd0efb-23cc-449b-a1bd-8b3d1edccb01">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtMy0xLTEtMA_20378055-cfa3-432c-8c39-cc2b6b38d7e0">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtNS0xLTEtMA_8d9ef0ca-7ed9-4964-8552-edadfd6bb1fe">4,827</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtNy0xLTEtMA_7a3b8583-7c4b-4aa5-a274-01783e97534d">19,830</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtMS0xLTEtMA_4927883c-4c7d-4a3f-83ae-4df145e11269">35</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtMy0xLTEtMA_1837c8f2-587d-4fd4-968a-2d34e7df2edf">2</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtNS0xLTEtMA_86e5c4df-9f21-4409-90ba-b745cab3c2a3">16,711</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtNy0xLTEtMA_bafc58f1-56c9-43d2-92c5-78bba67cadac">27,330</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i30dcfe7edddf405d8a3a27d3a5099d35" continuedAt="iaca740d89cb3490e93001eda47f55f4f"><div style="margin-bottom:6pt;margin-top:12pt;text-align:center"><ix:continuation id="ie86837a039cb4d9a8960e12e70feccfd"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:98.840%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItMS0xLTEtMA_c4abec8d-c054-4030-9126-38ecac724f42">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItMy0xLTEtMA_b3ac0e7b-dcea-4000-91ba-438fd848db49">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItNS0xLTEtMA_089e37b3-4985-401f-bf8f-8172a5e5f3a1">2,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItNy0xLTEtMA_535caa84-4429-486e-b189-a978a7d35015">11,350</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtMS0xLTEtMA_f814d7b7-6a72-48f5-ae88-90e78610fa95">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtMy0xLTEtMA_3c087d06-d280-41a0-ba8c-ac1befb6b6e5">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtNS0xLTEtMA_8c93d6ea-bc41-4ef6-81d4-0c02b518017b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtNy0xLTEtMA_e289e592-bbe8-416a-b892-3859c4b31054">3,625</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtMS0xLTEtMA_7f49bfc9-41a3-4c9b-854b-9912c016ebf4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtMy0xLTEtMA_08783b94-e106-4e17-99a7-d223c2941441">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtNS0xLTEtMA_00423da1-4e1d-4b50-b40c-635bbd2e5578">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231" decimals="-3" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtNy0xLTEtMA_a382852b-41ad-4095-84a7-2a43f74fa71d">685</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctMS0xLTEtMA_a7d18c01-3684-4093-860f-b01146c98f1f">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctMy0xLTEtMA_3355fb32-dc1e-47d3-9ca5-b9d9c45aa86b">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctNS0xLTEtMA_3b048724-97d3-4c5f-b9b2-7f0c60094005">2,750</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctNy0xLTEtMA_b05f26f2-d01c-40cb-91d7-92539727a681">15,660</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018 we received interest income net of the amortization and accretion of the premium and discount of $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwNzk_de0f851a-8231-4291-92ae-6788acbfca9b">0.3</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwODM_6d6cb78c-652e-4a26-8d58-a21f85212f82">0.6</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwOTE_30d02764-8e18-4a30-8221-e1fad35210c5">1.0</ix:nonFraction> million, respectively.&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recurring Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NDU_5211d560-b6fb-48d9-9835-cb524b2c3b50" continuedAt="i81fccb1a68154a3fb2f163f51c35279f" escape="true"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NjA_f266f421-6572-4165-ab2c-113989d83d0b" continuedAt="i25b8c681bb59440c9c300bed594bb12f" escape="true">The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="i81fccb1a68154a3fb2f163f51c35279f"><ix:continuation id="i25b8c681bb59440c9c300bed594bb12f"><div style="margin-bottom:5pt;margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0ed5787f541b486d876c274976b0b95f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtMS0xLTEtMA_df07821b-5510-4260-8857-60d4ce1a5d89">4,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i71bd0b1d46504994a1f45f2ab19fb143_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtMy0xLTEtMA_56b9e209-765a-45a3-908e-096155b18f30">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic3806ae5e6874059b5c912a6a9c6bcab_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtNS0xLTEtMA_e57c1a6f-70f1-4cf5-8512-712787a0672a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i97ee30ebebd647588addbc170a7a6aa8_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtNy0xLTEtMA_01094f7d-6b9c-4239-af69-91a3bc931051">4,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife7f5317c120436a8faae90027509af7_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtMS0xLTEtMjQwMQ_aa8a0de6-4fea-4aa0-82e3-aeb2b5b09fed">97,433</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib271ac0c1622494f948735c657ff48ef_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtMy0xLTEtMjQwMQ_58f012f4-25e2-4963-bee6-754cf1ad6dff">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i402acf436df84b7880c2a4aa61e9d41b_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtNS0xLTEtMjQwMQ_c418182e-a0d9-4f39-aa0e-bb54af034aec">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i40b37e9adad448408a57f1b45de0087e_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtNy0xLTEtMjQwMQ_25761e39-ed7c-4ed3-b3bf-393105989fa7">97,433</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i954b5d7bfb764e6b8df91e062c4a5f48_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtMS0xLTEtMA_561c7883-7363-4e3d-ab0a-d4984453157a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i15ceb52655f34529b9889b41cc7b473f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtMy0xLTEtMA_346beeab-4850-47fa-aa1d-dd205f7a7ccc">17,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2f213a81ab22426b81c14619e6dc9e1f_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtNS0xLTEtMA_d6261616-93d7-4dea-9385-d1e84ccde501">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i80b15b5a7f6843a7bd2b6e36ec705928_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtNy0xLTEtMA_0ff18ee5-bdba-4d39-8f99-7e0a4d9bbf67">17,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3e78b1a19aec4a508dd936613ddc4ce8_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtMS0xLTEtMA_5708b68d-ac34-4a32-b9b1-e37237ae3f27">17,894</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie4314adc8a2740f6b240fa95a1ebae5a_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtMy0xLTEtMA_99402a9f-9c2d-4da7-b909-b3ad40d8a891">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i724e7781c207431fbf6dd28887c958a4_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtNS0xLTEtMA_9fa5f4bb-e321-4b0f-aae7-58e725c76b40">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1f17e7aa7d024a5e889e2c7a20010173_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtNy0xLTEtMA_4f52656d-5438-4093-846a-61dcdb68d2a8">17,894</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6cafb0d2772f4b51801f4683cf68928f_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktMS0xLTEtMA_5299ace3-dd4a-45c6-b8bb-10e879ad10b4">120,076</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3104d6b8cc81460b886135648ef108ae_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktMy0xLTEtMA_0856af86-7c9f-477b-a547-ccb4de0f814d">17,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i45c535d20de2421f8b8c4c9f3b8f2c75_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktNS0xLTEtMA_73566434-00cb-488c-9737-f6b0887213ab">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8f2082b48c6c4e60ab0d5bc5f521f3ab_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktNy0xLTEtMA_20f1cfd3-899a-4204-909d-a3e97e6e47c6">137,208</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"></td><td style="width:42.568%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.527%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.440%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i838feed0e5de4761b737bd296a069623_I20191231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtMS0xLTEtMA_3362bfbe-abfd-46d1-bdd5-f72c066e3a8c">337</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6587dce9c8104d439719029c960dcb1f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtMy0xLTEtMA_0c620d50-1bee-4fbd-9d63-01066c9f1808">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iac7a88785001472ba7c6196dbced8c27_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtNS0xLTEtMA_5ac038d8-5d66-4745-923e-928006f6bd47">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i58c8c2559f4c412c9aa777284b499f0f_I20191231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtNy0xLTEtMA_bd2904eb-70cd-4ac4-b64a-7d0199933927">337</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i205b6d6d5cb64ef38699da52825221e6_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtMS0xLTEtMA_328782e0-037a-4cc9-8d22-a19a492cfa7d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2bffd86069d54bde8c67ec4b9568ee3d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtMy0xLTEtMA_dedce404-2bfe-416c-9b3b-77be055c2aed">9,614</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24df997cf5d74e7d80367e0bffcf255f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtNS0xLTEtMA_42f42231-2f3e-45d1-b73a-4926c42f959b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if0e8e8ff65f248088bfcd2ca9b7a0474_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtNy0xLTEtMA_a9e718b3-d278-40e5-a6ed-96a85dc8aed2">9,614</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3c8a7325a47b41f58b3c52c55e00638f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtMS0xLTEtMA_d11f615b-ea28-4c29-aba7-1b6af586ce60">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if89c7407c49046898c2c0c7a05a86f88_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtMy0xLTEtMA_11cfda53-e0f2-4452-a9cc-17803a3524de">11,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1cca2492bca943899611f7977e24a7bc_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtNS0xLTEtMA_02612747-6944-4073-83ca-12de2b1b8fe1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4a05c430240548d7ae1e9439486e2959_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtNy0xLTEtMA_13fa45f5-4bd9-4651-81bf-73a54eadc6a1">11,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iafa0cc8ceb8744b589dad51320e7b254_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktMS0xLTEtNTc3_72ab12b4-99c7-4173-9a19-71df140ab2f9">14,233</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3703ca84213b404bb3cda52c9cd9f86c_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktMy0xLTEtNTc3_21cd4266-f5f9-43bf-8f5d-dcf8b778d158">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5320fe164a0d41e0868d3ea73cf50da2_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktNS0xLTEtNTc3_b3311d45-0b1c-4aa4-abdf-eb6272c9dad6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i649b5470b0aa4b94a6b59f25c5c9e8a4_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktNy0xLTEtNTc3_3fc98099-b4fc-4e84-aeb4-d5d5273a41a8">14,233</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1610bd2373aa4a68aeadc900f79ca058_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtMS0xLTEtMA_a9ec5087-d01e-4342-a281-40cafe7de78b">14,570</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b021b3f26974876a89fe29b014da4f7_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtMy0xLTEtMA_82c63109-4d5a-4a40-b97a-f5a3de7ef538">20,732</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib8e7d2a2f1c7430f8b4578b37edf71d0_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtNS0xLTEtMA_e8edf39d-2ff2-4e81-85b0-c13f2b6e6c92">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if987bb93d4bf48ff932dd2563732faff_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtNy0xLTEtMA_8e5d435e-8a9b-4353-bbd5-eb3561941134">35,302</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:continuation></ix:continuation><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2019, the estimated fair value of the $<ix:nonFraction unitRef="usd" contextRef="i515bfbaa190a4882b2eff4a3157c8383_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFairValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzI3NDg3NzkwNzU2NjQ_e5279a71-e63a-4f96-8967-45d2d2749043">50.0</ix:nonFraction>&#160;million term loan issued by Wells Fargo Bank, National Association ("Wells Fargo"), as administrative agent, and the lenders that are parties thereto ("Term Loan") and the $<ix:nonFraction unitRef="usd" contextRef="ida9949b23cc94e42aa55e15986693711_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFairValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzI3NDg3NzkwNzU2OTM_026b720e-e9c3-4d51-80c1-c1aea7b952ab">50.0</ix:nonFraction>&#160;million revolving credit facility made available to us by Wells Fargo and the lenders that are parties thereto ("Revolving Facility," and, together with the Term Loan, the "Credit Facility"), approximated their carrying values due to the variable interest rates. We considered the fair value of the Credit Facility to be Level 2 measurements as these debt instruments were not actively traded. We carried the Term Loan at face value less the unamortized discount. Refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-Term Debt, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our Consolidated Financial Statements for more information about our since-terminated Credit Facility.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes to our valuation techniques used to measure asset and liability fair values on a recurring basis during the&#160;year ended December&#160;31, 2020. The valuation techniques for the financial assets in the tables above are as follows:</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="iaca740d89cb3490e93001eda47f55f4f"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash Equivalents</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020 and 2019, cash equivalents include cash invested in money market funds and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Available-for-Sale Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-Recurring Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired.  For the years ended&#160;December&#160;31, 2020, 2019 and 2018, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_112"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzIzMw_ff412966-2a86-4188-b3a7-b16631e8e63b" continuedAt="i2494ddd755ee4532b274c7667dcdb240" escape="true">Property and Equipment, net</ix:nonNumeric></span></div><ix:continuation id="i2494ddd755ee4532b274c7667dcdb240"><ix:continuation id="ibfae52e239994efe8d4653b2c2f72aae"><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.349%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.809%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Data center and computer equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i85131be12f96492f9e0ebdb0c1cd2b37_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzItMS0xLTEtMA_2d0fc27a-ed84-4fe2-8d18-9e0d4f4f9340">4,597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i406c34a01e874bdbbc4db18c847351c5_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzItMy0xLTEtMA_a69e4709-2457-4239-be5f-d4c6741c3d8a">7,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia8afc8f42fe046c89039eb0f3abde265_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzMtMS0xLTEtMA_5788f70e-0651-4118-a2cb-61e2314f0831">6,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib25e2a8ea9e6467aaeb63e75eb846b63_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzMtMy0xLTEtMA_716650ae-e1cd-4445-b32c-917145b6690c">3,953</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia82cae4596f4432a9a60ae063dc10480_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzQtMS0xLTEtMA_c836e637-0dcb-43df-a69f-cfc7f3619455">3,324</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i512e9e91df8644dda8fa5f808dba04f0_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzQtMy0xLTEtMA_9652dab7-0204-4ef0-acf8-7b737e37df4f">1,141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib43ad54ad91c4e21a9e213dcb3b4c221_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzUtMS0xLTEtMA_5258d2f5-2c41-4ac6-972b-fe32c15ed519">22,952</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12a91ae5f4854962ba8dddb3d99cf44d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzUtMy0xLTEtMA_e230c74f-02bb-481d-97c6-a2d8b69309ad">6,192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2f2b6dd4a1024eeb93232927f1fafb3c_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzYtMS0xLTEtMA_e0702c0c-d2d0-4d70-a5a4-5463bc78dd05">617</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic563c8553e5f4977912b94d3467c73a7_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzYtMy0xLTEtMA_b5c8f098-f60f-4eb3-ab22-915657124820">7,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzctMS0xLTEtMA_9c57042c-a055-40af-acd8-f0b5e012a42b">37,511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzctMy0xLTEtMA_dde09b48-4b3b-432a-bf61-92a56a9b0ae2">26,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzgtMS0xLTEtMA_18081194-722c-47d4-8bc8-5080c76f9908">11,072</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzgtMy0xLTEtMA_6c7db665-b2ee-406a-9d28-ac1782bd36f5">11,643</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total property and equipment, net</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzktMS0xLTEtMA_ab2d89b1-d0db-47af-9411-eb238a7885fd">26,439</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzktMy0xLTEtMA_1e4ac712-d377-4848-953e-08414656f8bc">14,744</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:continuation><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense for property and equipment totaled $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE2OQ_c3e9dc90-0631-48f1-b4b9-1de6b9a4e982">4.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE3Mw_112c4dd5-aaae-4d45-ba4f-bbf89bbede08">3.1</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE4MQ_eebcc952-596d-4078-a3f2-f441f8c3ab06">2.4</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During September 2020, $<ix:nonFraction unitRef="usd" contextRef="i4127e588db5841269435404cd726e073_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzY1OTcwNjk3Njc4NTY_2ad470e8-d99c-4aa0-b15e-cb3bc0e7fdb8">13.9</ix:nonFraction>&#160;million of capitalized costs, principally comprised of furniture and fixtures and leasehold improvements related to our corporate headquarters in Santa Barbara, California were ready for their intended use and were placed into service.</span></div></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_115"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUwNg_f7c48323-d01f-4eb1-ac5d-42144280168a" continuedAt="idb0caf13535b464a81f37492d91b8366" escape="true">Capitalized Software Development Costs, net</ix:nonNumeric></span></div><ix:continuation id="idb0caf13535b464a81f37492d91b8366"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUxNQ_18ed28cd-6196-4809-b3ec-ac2fe276bf85" escape="true"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs, net were as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:69.617%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.809%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, gross</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzItMi0xLTEtMA_6ecd992b-8e35-46fe-9fbc-1d9a319ff767">96,974</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzItNC0xLTEtMA_a6d27c1b-d62d-4693-9b1a-657e54aca76d">81,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzMtMi0xLTEtMA_45aea063-1a5c-4330-8d6f-f0095f4e4c6c">61,515</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzMtNC0xLTEtMA_287a69aa-e2a1-4b98-92d7-d56797a9c5d6">51,452</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzQtMi0xLTEtMA_d8deba87-7fb6-4dc5-bfab-7aa36655a3ad">35,459</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzQtNC0xLTEtMA_6205925a-ac3e-4c7d-984a-6ccad5252ee5">30,023</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs were $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE3Mg_ddbf3434-28bc-4e17-8863-2622790bff8f">27.3</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE3Ng_6045366e-7596-4620-8d12-613a054472f1">23.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAdditions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE4Mw_093bec51-b192-4f41-86f7-3185bebcc00f">13.8</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. Amortization expense with respect to software development costs totaled $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMwNw_40e7bc21-2416-4ce4-a0a3-f0b2fd3c2ab8">17.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMxMQ_8e6cd128-1b13-4e7c-b0ae-0aa4811a453a">14.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMxOA_f19929d1-3ab4-4175-93e3-285a5fc0756b">11.0</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. During the year ended December&#160;31, 2020, $<ix:nonFraction unitRef="usd" contextRef="i30010c4df2d84ca88b90d5ce364f97ae_I20201231" decimals="-5" format="ixt:numdotdecimal" name="appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzEwOTk1MTE2Mjg1OTA_a4ff8a37-c58c-4734-912f-43b0af3c9ffc">3.9</ix:nonFraction> million in capitalized software development costs were divested in connection with the MyCase Transaction. </span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUwNA_8f59dd70-55a2-4f4d-872a-683ed9c6caf1" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs at December&#160;31, 2020 is estimated as follows (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:84.258%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzEtMi0xLTEtMA_8534c9e5-3f6c-46c8-827f-7ba2757a7fdb">18,008</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzItMi0xLTEtMA_d9c56e46-fc95-499f-b924-43f994f930db">12,783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzMtMi0xLTEtMA_9c57b79d-ceb5-48cc-943f-357eaa0bba9d">4,668</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalizedComputerSoftwareNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzUtMi0xLTEtMA_97be1885-6dec-4f14-9e44-c32e0d61b0e2">35,459</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_118"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcxNw_602fd409-1c6a-4c4d-b30d-418842637dc6" continuedAt="if6ca31d2f77f4d9d8e80c705653b6178" escape="true">Intangible Assets, net and Goodwill</ix:nonNumeric></span></div><ix:continuation id="if6ca31d2f77f4d9d8e80c705653b6178"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcxNA_4c93c4dd-7aa4-4172-bec0-26de4f7e64d7" escape="true"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following (in thousands, except years):</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.856%"><tr><td style="width:1.0%"></td><td style="width:32.137%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.519%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.871%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.519%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.871%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.519%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.871%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.519%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.874%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItMi0xLTEtMA_2e9d5020-ac2a-4051-8899-de6b4275a490">2,840</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItNC0xLTEtMA_ade3312b-69b7-4a0a-9095-031c86c11909">1,550</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItNi0xLTEtMA_aec31857-ceee-47a8-afab-c477a8581942">1,290</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if5d02b7ae4fc48bf8963cb0529762997_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItOC0xLTEtMA_fa4af135-48b0-40b1-8acc-bb27349bb945">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtMi0xLTEtMA_cf5c549a-0106-4fb4-8ab2-52c1f41dca74">8,330</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtNC0xLTEtMA_0a639af9-d7e8-4412-aac9-5ecacab33998">1,787</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtNi0xLTEtMA_e83f927d-614c-46d5-ab71-3a34b65d29e3">6,543</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i2f0717644b964c458b04d2ff9f73b68b_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtOC0xLTEtMA_cf4d24d9-9c4e-4e4c-82fd-8ae4c824f252">10.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtMi0xLTEtMA_20fa7256-31f3-41f6-8341-72f4aac40e71">6,539</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtNC0xLTEtMA_3a8c346d-4e5b-4c29-8543-88713d22d816">3,641</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtNi0xLTEtMA_ed714771-3696-405d-8768-870cc30d2ee8">2,898</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i06a3dcc6b8864fe0b010eadbf7e5acde_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtOC0xLTEtMA_4af3c7f2-2749-4119-81f9-995f1eec0e7f">4.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c393c835fa44f2da654193a7234825b_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtMi0xLTEtMA_55990fe1-4267-48da-858a-c06fda23a046">1,890</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9c393c835fa44f2da654193a7234825b_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtNC0xLTEtMA_368d1c12-2995-4414-928e-12ad5ffa44c6">732</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c393c835fa44f2da654193a7234825b_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtNi0xLTEtMA_9b8ac9dd-8a09-477c-8811-72f954cddd2e">1,158</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i59585b72b31549fbbf496319fdffdc12_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtOC0xLTEtMA_1a6ebfa6-193f-482e-ace5-d96c07a34a0b">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4bfcdf0391e844229cded3519641beec_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtMi0xLTEtMA_0d8a08df-0d01-4e0e-95d2-4d73db5acc03">680</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4bfcdf0391e844229cded3519641beec_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtNC0xLTEtMA_9c2a67bc-677e-4d31-8632-9e423945042b">680</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4bfcdf0391e844229cded3519641beec_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtNi0xLTEtMA_aa86ec86-e88e-46cf-830e-818dc39fd5e8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ifeed99d15f794c749d7b94c1cdceb0ae_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtOC0xLTEtMA_f2571b87-7b1b-49f7-9ea7-2d718ee4d304">3.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctMi0xLTEtMA_2f0df12a-bf7f-4c89-bc05-1a5996d95b14">7,400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctNC0xLTEtMA_e576534e-6db5-46f0-b5c3-e484ccab8289">2,964</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctNi0xLTEtMA_ea70b1d6-2384-478a-8b5b-118300a889a0">4,436</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i6fde2b93714b413ba202ab95939db554_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctOC0xLTEtMA_9211b70b-ac76-4574-8791-ec69ca9420e9">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtMi0xLTEtMA_9afaa161-15ad-4a68-ab29-7e44cd5ffb2a">90</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtNC0xLTEtMA_501e72b8-5007-4277-9f99-1982c039e2ce">70</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtNi0xLTEtMA_4410e46a-95d5-4a62-a95f-82126f81350a">20</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="icf919fe6398845959f7346b359253f90_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtOC0xLTEtMA_6b81630e-f634-4c53-b732-748dd3b790ef">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if01218679d634590b83a3577557223ad_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktMi0xLTEtMA_78845df0-c956-4198-9b5d-c4050cefba30">252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if01218679d634590b83a3577557223ad_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktNC0xLTEtMA_935f9489-d0a0-434c-8798-4e3dc327988b">240</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if01218679d634590b83a3577557223ad_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktNi0xLTEtMA_bc3c4883-e070-4bb6-a1c4-74a614f54582">12</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i6da119b01e514b70934f4ec2f647a9d6_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktOC0xLTEtMA_cbf62a7b-dc56-49aa-9a1f-21fc54d90603">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTItMS0xLTA_4d7990c5-3ea0-4d41-bb1b-0d15ff8bfa6e">28,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTQtMS0xLTA_4e6d1a01-4c33-4f53-8bb6-2ef5e1ad23d3">11,664</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTYtMS0xLTA_6e9ab1ac-4ef0-4955-8bd0-639bea0d54b2">16,357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if19d9c1a49cc42d7ba1739dcca8e72a7_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTgtMS0xLTA_cdd5311d-a77c-49fb-9e3c-c2da0ccd2242">6.3</ix:nonNumeric></span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:31.897%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItMi0xLTEtMA_f5395c52-5604-4f5e-9039-af272d36b38c">3,070</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItNC0xLTEtMA_7fa9b436-be9f-46bc-8883-38fdc39cd4bf">1,296</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItNi0xLTEtMA_ef0c9402-b5bc-4d08-bdeb-00542e8c8f3b">1,774</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i6cbb6f4e7b46444da7ae714fffa8a978_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItOC0xLTEtMA_4c3ea49f-26a8-4dcc-93c5-4d06f378364c">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtMi0xLTEtMA_c079d875-f6bc-4603-b2de-23007d595357">8,330</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtNC0xLTEtMA_7a024c58-e4d6-4f0d-b280-cd28ba57b196">954</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtNi0xLTEtMA_c49917da-3da0-46e4-983a-05a8ad1984a9">7,376</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0112f48ffb094d65a97b721bd990a5ce_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtOC0xLTEtMA_ee4bf289-c620-4334-a7d8-338b150c74ff">10.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtMi0xLTEtMA_1998346d-6e66-47f1-87e3-0537b5831827">10,541</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtNC0xLTEtMA_aa90008c-b418-4837-a79c-09d91586e2c2">6,074</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtNi0xLTEtMA_508831ac-aa4b-4b21-b73e-261654bd83f2">4,467</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i2d55b6e934984b12997c41e9c938cdf5_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtOC0xLTEtMA_915bacb3-a9a2-4481-bf60-52668d3526cf">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtMi0xLTEtMA_12fcc19b-512f-469d-81c5-91e85147f30f">2,690</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtNC0xLTEtMA_243f9068-09f6-4bca-b67b-2eff39515941">898</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtNi0xLTEtMA_05c27f4d-a47b-4b6b-95af-dc4cf985f124">1,792</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i9045cb2e5d9847a59f9b41c0f9886808_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtOC0xLTEtMA_37718e10-8131-47cc-a9f5-14e5ed68e4d0">6.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtMi0xLTEtMA_dd5be60f-ca2c-4cf4-91c1-cef39527b7e5">680</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtNC0xLTEtMA_bac5ea3f-bc0d-4908-b5ab-ca93f3c3710e">680</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtNi0xLTEtMA_d985d8c1-5087-45cd-999f-bdec460fb45d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i42432e1e809641fe877687b20e2b8dbb_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtOC0xLTEtMA_845fcd4e-9077-4a62-a032-353211559794">3.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctMi0xLTEtMA_a0f774d4-9215-4bf1-b773-cad6b5d6fd2a">7,400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctNC0xLTEtMA_79f217f3-3bc4-43d1-8206-e55cfb4d03eb">1,484</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctNi0xLTEtMA_b4f36cfd-bae4-473a-84e7-b9205f27eccd">5,916</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i9f56c3879ed84f02b3caba13708ebcd6_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctOC0xLTEtMA_36806ae8-3d34-4d4a-a05a-16e7225c4320">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtMi0xLTEtMA_85cdc8bb-808e-4d15-af70-e79d2d13074d">301</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtNC0xLTEtMA_4e2f0ff4-e6d8-4f3a-99dd-65eaba3d7841">276</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtNi0xLTEtMA_71a2730f-ba81-45f8-8e90-9db0a8eeab30">25</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3924e18efe364cd2ace1a364a5089f6e_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtOC0xLTEtMA_af60769d-600f-40f9-b60a-5f918327e8c5">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktMi0xLTEtMA_dbd20ca7-1ed7-4f9d-8379-3c07f7086547">252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktNC0xLTEtMA_53000fe6-2904-4206-8a31-ef8e3d3f4d44">225</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktNi0xLTEtMA_7c2b170b-1b14-420a-a513-31a7ba6c50b8">27</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i3314efe5584b45daa6d6bf3a9252e50f_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktOC0xLTEtMA_8eb74594-782f-4b1c-812b-9f7b34d7ff1d">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTItMS0xLTA_6d415961-f787-48c7-9d9c-0c6a7cdb86cc">470</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTQtMS0xLTA_60284656-4ad9-409a-a35d-61f20d59d691">470</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTYtMS0xLTA_fd0b9218-1b29-4181-bf66-024dbeb3c6e8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i91c2d3baf0334c13b2c95f446e16f20c_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTgtMS0xLTA_8b105ce8-f5a5-4239-93e4-0b12dc50ff25">1.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTItMS0xLTA_2bbb2052-95fd-4b4b-8c91-09d3d5189589">33,734</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTQtMS0xLTA_584a5877-bff1-4b68-ae72-240d03ebe2b4">12,357</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTYtMS0xLTA_784efe58-a9c9-4be8-90a9-52bd3b5a071f">21,377</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i941de9c5c70a4aaa8a5f02dbaee7bf38_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTgtMS0xLTA_a463b342-c82d-4e9f-b22c-432fec3c2c06">6.2</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense with respect to intangible assets totaled $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIwMA_95884417-05c1-454c-9867-eb053971095f">4.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIwNA_6b491adb-3857-4f01-b200-5d3b80e664a8">5.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIxMQ_976bfe6c-e8f5-4ee1-bbe4-8cc5b8dcb668">1.2</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="appf:ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcwOQ_7a90e61c-846c-4323-80f2-77a2bee05697" continuedAt="i18d7c0daf887442a9507cb40471e1c21" escape="true">Future amortization expense with respect to intangible assets is estimated as follows (in thousands): </ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><ix:continuation id="i18d7c0daf887442a9507cb40471e1c21"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:82.617%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.463%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzEtMi0xLTEtMA_d61d563c-f2a8-4244-9be4-7f72e8f6d0bf">4,646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzItMi0xLTEtMA_a1aad312-85b4-40c5-a485-9162c82ec06a">4,605</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzMtMi0xLTEtMA_6ab2e705-c0fc-45a0-a3dc-1d6ebc9aea7b">3,060</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzQtMi0xLTEtMA_284713bd-70d4-4963-9b48-cb05d01b1403">835</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzUtMi0xLTEtMA_b8fffe19-b292-4d2c-a5bd-7d569bd54583">833</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzYtMi0xLTEtMA_7b4ec198-1309-421d-ab01-bd33064f7e3d">2,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzctMi0xLTEtMA_af2ccbd7-aa1c-4b65-a16e-cfa548346aaa">16,357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our goodwill balance is solely attributed to acquisitions. As a result of the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. There have been <ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzY1OTcwNjk3Njg2MTg_7b73620f-9f37-41db-affc-752e66b97c6c">no</ix:nonFraction> impairment charges recorded against goodwill. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfGoodwillTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcyNw_72906288-a684-4b3c-a046-5626a16af7df" continuedAt="if8cf128dc1ee47169d9b257db44c5f59" escape="true">The change in the carrying amount of goodwill during the twelve months ended December&#160;31, 2020 is as follows (in thousands):</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><ix:continuation id="if8cf128dc1ee47169d9b257db44c5f59"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.664%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.418%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzAtMi0xLTEtMA_cbe9e6a6-a50d-4534-9316-28778f1bbe24">58,425</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill attributed to MyCase divestiture</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzEtMi0xLTEtMA_fc485840-8a99-451d-86b7-1284f6ac3730">2,278</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzItMi0xLTEtMA_4f413633-b676-412c-827e-8692f4371078">56,147</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_1694"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:CompensationRelatedCostsGeneralTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGV4dHJlZ2lvbjoxMjBjNDI5Y2RkZWU0NDY2OWMwMWEzZGY5Mjc2ZjY1MV83MTQ2ODI1NTgwNzcw_e7f4f579-3f2c-42c3-9f06-0c6674f62a70" continuedAt="ifc12bfacaab34858bbf913cd7321cd22" escape="true">Accrued Employee Expenses</ix:nonNumeric></span></div><ix:continuation id="ifc12bfacaab34858bbf913cd7321cd22"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGV4dHJlZ2lvbjoxMjBjNDI5Y2RkZWU0NDY2OWMwMWEzZGY5Mjc2ZjY1MV83MTQ2ODI1NTgwNzcx_02d3e41b-fbd7-425e-8fb7-7efdbae7203e" escape="true"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued employee expenses consisted of the following (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.975%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.381%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.708%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.526%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.710%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedVacationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8xLTItMS0xLTc3NDE_aff9d23e-a3da-4bda-90f9-a5bbde615b7e">8,277</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedVacationCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8xLTQtMS0xLTc3NDE_c76240e5-1985-4b1a-a962-1a5676536aa2">5,554</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonuses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedBonusesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8yLTItMS0xLTc3NDE_38ec0906-563f-4d1f-bcf8-d25a658cb644">5,638</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedBonusesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8yLTQtMS0xLTc3NDE_073e5ae3-e71a-41a4-ada6-93fc1369841d">3,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued commissions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8zLTItMS0xLTc3NDE_07f735b8-2952-467d-8fc4-25462b5e5c57">1,995</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8zLTQtMS0xLTc3NDE_8508a3a6-4533-490b-9b33-2138376c9211">1,860</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalariesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl80LTItMS0xLTc3NDE_a62e10b4-1221-4fc8-9859-42cb02331940">1,921</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedSalariesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl80LTQtMS0xLTc3NDE_f3b5157a-1e45-49e1-b344-5cb33ad28a70">5,202</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll taxes and other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl82LTItMS0xLTc5MzQ_fdfefeac-6713-4a83-ac35-826a3469f8b1">1,057</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedPayrollTaxesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl82LTQtMS0xLTc5MzQ_1a678ac3-922f-425c-8573-16e868c761d0">1,270</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued employee expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl81LTItMS0xLTc3NDE_46e005e7-a5b4-4527-9146-6a7f7cf10dad">18,888</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl81LTQtMS0xLTc3NDE_43d0f02f-343a-402b-acae-c4716a427380">17,758</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_121"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDc_9dbd3aaa-4292-4290-a66d-e480e354c15e" continuedAt="i003aa7730b5e4645a0ecea5f97e24b84" escape="true">Leases</ix:nonNumeric></span></div><ix:continuation id="i003aa7730b5e4645a0ecea5f97e24b84" continuedAt="i11abfb7d7196470bac7392a2ce1ea068"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases for our corporate offices have remaining lease terms ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzg_e13e4af0-ccec-4e1a-a2d9-ac59fdda846f">one</span> to <ix:nonNumeric contextRef="i8c44c9d704f94577a58842cd80552570_I20201231" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzk_bcef428a-450a-4770-a120-1d061ddeaa9e">eleven years</ix:nonNumeric>, some of which include options to extend the leases for up to <ix:nonNumeric contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" format="ixt-sec:durwordsen" name="us-gaap:LessorOperatingLeaseRenewalTerm" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcxNDY4MjU1ODYwNjc_0adb02aa-4c6b-41d4-9941-6a62395ea11b">ten years</ix:nonNumeric>. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is responsible, including common area maintenance. Operating lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcwNg_0b7955e0-f2dc-42d8-96d8-fb88274ee836">5.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzM1OTU_5cf99678-c58e-4308-a3c1-462ee705344f">5.1</ix:nonFraction>&#160;million, respectively. Variable lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:VariableLeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3NzI3MTM_bded6030-9841-439f-8dae-38f707d821d9">1.4</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:VariableLeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3NzI3Mjc_6e7232fb-b783-4c5b-bf25-ec486c559fd7">1.1</ix:nonFraction>&#160;million, respectively. We recorded rent expense of $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LeaseAndRentalExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzM2MTA_1114fdc8-8966-4123-885d-0df132b8f1c8">2.6</ix:nonFraction>&#160;million for the year ended December&#160;31, 2018. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDg_04c4cfc1-176e-4675-9f6e-c9d330673198" continuedAt="i41241ec8c30e4cb89b570bb68c364328" escape="true">Lease-related assets and liabilities were as follows (in thousands, except years and %): </ix:nonNumeric></span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><ix:continuation id="i41241ec8c30e4cb89b570bb68c364328"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.791%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEtMS0xLTEtMA_6e464dc7-523f-496a-8122-bdf0bbadda15">3,972</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEtMi0xLTEtMzA3NA_598822dc-9879-456f-a4fe-74c51511a4fb">3,908</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzItMS0xLTEtMA_871c2392-8887-4bd0-b2f8-ecfe77a6171a">30,561</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzItMi0xLTEtMzA3NA_a9e58201-7976-40a0-b96b-7fe22f3f5455">27,803</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199">Other current liabilities</span></span></span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMS0xLTEtMA_c2b41abe-8eeb-40c0-9ef8-6e9230fcb1bf">1,845</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMi0xLTEtMzA3Nw_b059aa22-5c4d-429e-9f9b-2638859b761d">2,826</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzYtMS0xLTEtMA_e54fbb30-92cb-4037-8bb4-c49bf4a662af">40,146</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzYtMi0xLTEtMzA3Nw_b6bebe5f-e501-4282-83dd-9fc7f6d4333f">33,312</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease liabilities</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzctMS0xLTEtMA_dd24f3dd-574a-4525-9010-ad58a362dbfe">41,991</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzctMi0xLTEtMzA3Nw_d3914c13-a4eb-4031-9968-39441b28f006">36,138</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzktMS0xLTEtMA_44fe0517-867c-4c22-8f2d-1afa07b35605">10.8</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzktMy0xLTEtNjYyMA_22019d94-498e-4e6f-af87-794b517636b0">10.6</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEwLTEtMS0xLTA_771d44ca-42c1-409d-a9a9-38c11fffaad4">4.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEwLTMtMS0xLTY2MjA_4d1b52b3-4f45-40a7-a028-b906a3b94d7e">4.7</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></ix:continuation></div></ix:continuation><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i11abfb7d7196470bac7392a2ce1ea068" continuedAt="i11d5e9b0e19d4c609b5d369f0bd8a4be"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDk_e45b21be-e864-46fd-8a3d-6d0f0ffb202b" continuedAt="i7c1736538b1649a088bed5a931ce3d38" escape="true">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2020 were as follows (in thousands): </ix:nonNumeric></span></div><ix:continuation id="i7c1736538b1649a088bed5a931ce3d38" continuedAt="ie4f94bf4bcc54c3cac4d1df650e264c8"><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:84.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years ending December 31, </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" sign="-" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzEtMS0xLTEtMA_caf96818-17c6-42ae-92f8-7ac7f3a88bd4">915</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzItMS0xLTEtMA_0cb69e1d-88c1-412a-8adf-783173cbf411">4,544</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzMtMS0xLTEtMA_950641f2-9e39-4399-a419-ac26b60ee139">4,845</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzQtMS0xLTEtMA_07651143-de88-43c9-8052-b6148c7a6c3e">4,797</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzUtMS0xLTEtMA_ca9c1243-b752-4804-8081-1e008db890af">4,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzYtMS0xLTEtMA_0fc29daa-3b70-49c7-b4dd-85b5e4caecc6">32,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzctMS0xLTEtMA_6eb69b08-513b-4956-b0a5-378c224d7c6e">49,982</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzgtMS0xLTEtMA_6416c397-c1e8-4388-a518-a48381578b24">11,963</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzktMS0xLTEtMA_48d16d53-67de-4a39-be28-0a20e3580e89">38,019</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="text-align:justify"><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">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments for the year ending December 31, 2021 are presented net of tenant improvement allowances of $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="appf:TenantImprovementAllowance" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzExNDU_799dbd7d-5f72-4b7f-8102-1457b2840665">4.8</ix:nonFraction> million.</span></div></ix:continuation><div style="text-align:justify"><ix:continuation id="ie4f94bf4bcc54c3cac4d1df650e264c8" continuedAt="i089d4f13a9cd4681855e7b9c263e71ca"><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">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i089d4f13a9cd4681855e7b9c263e71ca"> of $<ix:nonFraction unitRef="usd" contextRef="i1839549352ce40bb80d59575701cc727_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzEzMDk_e2c9b5da-50c5-4f09-a878-4ef749aa19fc">4.0</ix:nonFraction> million on our Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next twelve months.</ix:continuation> </span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i11d5e9b0e19d4c609b5d369f0bd8a4be">On December 17, 2020, we entered into a lease amendment for 1707 N Plano Road, Richardson, Texas. The amendment expands the current leased space with three additional suites totaling approximately <ix:nonFraction unitRef="sqft" contextRef="iaf40a4a4574a4692a96d0a3775c9bce2_D20201217-20201217" decimals="0" format="ixt:numdotdecimal" name="appf:LesseeOperatingLeaseSquareFeetOfLeasedArea" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcxNDY4MjU1ODYwODU_797c3a0f-84d1-4e64-844e-60a0b05bf34f">23,833</ix:nonFraction> square feet and extends the lease term to March 31, 2032. The total commitment under this lease is $<ix:nonFraction unitRef="usd" contextRef="ib579298b6d534de4a508f67a6eb46121_I20201217" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzI3MDc_911a71dd-c533-4a6f-99fc-447a1869ebd0">11.6</ix:nonFraction>&#160;million.</ix:continuation> </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_127"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:LongTermDebtTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzUwMTk_8cb95b98-f31d-477f-866f-dfd10bb6c8f4" continuedAt="i30e71a5cc6324261b89766496d8a0db3" escape="true">Long-term Debt</ix:nonNumeric></span></div><ix:continuation id="i30e71a5cc6324261b89766496d8a0db3" continuedAt="ie9b3e4fbb1fa4b98a7289ca9ed9ad0a0"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 24, 2018, we entered into Amendment Number Two to the Credit Agreement (the "Second Amendment") with Wells Fargo, as administrative agent, and the lenders that were parties thereto (as amended, the "Credit Agreement"). Under the terms of the Second Amendment, the lenders issued the Term Loan to us and increased the amount available under the Revolving Facility to $<ix:nonFraction unitRef="usd" contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzYyMA_de701369-01ba-4448-a854-9eba086fb769">50.0</ix:nonFraction> million. The maturity date of the Term Loan and Revolving Facility was December 24, 2023. In addition, pursuant to the Second Amendment, we were permitted to make certain restricted junior payments, including, without limitation, repurchases of our common stock, and to enter into acquisitions with no value limitation, so long as we maintained specified liquidity requirements and leverage ratios. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Second Amendment also modified certain financial covenants by, among other things, requiring us to maintain (i) an EBITDA to interest expense ratio of not less than <ix:nonFraction unitRef="number" contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224" decimals="INF" name="appf:LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEyMDE_f2f2860b-4439-4f52-a4e0-0e92d35f29d9">3.0</ix:nonFraction> to 1.0, and (ii) a funded indebtedness to EBITDA ratio of not more than <ix:nonFraction unitRef="number" contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224" decimals="INF" name="appf:LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEyNzY_8ebccaa9-6d7c-4fc5-9055-a5a383ac5f05">3.5</ix:nonFraction>:1.0 (the "Required Leverage Ratio") (decreasing by <ix:nonFraction unitRef="number" contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224" decimals="INF" name="appf:LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEzMzA_01e114b5-9f5e-46ee-964b-3c8cd9d0a963">0.25</ix:nonFraction> per year until the Required Leverage Ratio is <ix:nonFraction unitRef="number" contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224" decimals="INF" name="appf:LongtermDebtCovenantRestrictionsRequiredLeverageRatio" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEzNzk_ab619275-f9e4-4fc8-b8a5-90ed82c99b88">2.5</ix:nonFraction> to 1.0); provided, however, that we were not required to maintain the foregoing ratios if our liquidity (defined as the sum of the remaining borrowing capacity under the Credit Agreement and available cash) had equaled or exceeded the greater of $<ix:nonFraction unitRef="usd" contextRef="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224" decimals="INF" format="ixt:numdotdecimal" name="appf:LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzE1ODE_856bd8ad-b28c-412e-8189-078d99a1be7c">20.0</ix:nonFraction> million and 20% of the sum of the outstanding principal amount of the Term Loan and commitments under the Revolving Facility. If we entered into an acquisition with a purchase price greater than or equal to $<ix:nonFraction unitRef="usd" contextRef="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224" decimals="INF" format="ixt:numdotdecimal" name="appf:LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzE3ODE_a61a7f96-4e1e-411e-acbb-e400462b28da">20.0</ix:nonFraction> million, then the Required Leverage Ratio would be increased by 0.5 for the 12-month period immediately following the consummation of such acquisition.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement contained customary affirmative, negative and financial covenants. The affirmative covenants required us to, among other things, disclose financial and other information to the lenders, maintain our business and properties, and maintain adequate insurance. The negative covenants restricted us from, among other things, incurring additional indebtedness, prepaying certain types of indebtedness, encumbering or disposing of our assets, making fundamental changes to our corporate structure, and making certain dividends and distributions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the terms of the Second Amendment, borrowings under the Credit Agreement would bear interest at a fluctuating rate per annum equal to, at our option, (i) LIBOR or (ii) an alternate base rate, in each case plus the applicable interest rate margin. Borrowings would fluctuate between LIBOR plus <ix:nonFraction unitRef="number" contextRef="i97955c9d90b447298886c0809dad35fe_D20181224-20181224" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzI5MjI_f99c6aad-9328-4193-9e69-c4145fce884f">1.5</ix:nonFraction>% per annum and adjusted LIBOR plus <ix:nonFraction unitRef="number" contextRef="i3d2a314ee2504faf9675a444488e13dc_D20181224-20181224" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzI5NTk_e48ed0ec-b522-4ca3-a134-61538a8bf45d">2.0</ix:nonFraction>% per annum (or between the alternate base rate plus <ix:nonFraction unitRef="number" contextRef="if25f5735de8b496f8a8d99c6e8d45323_D20181224-20181224" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzMwMTM_ba4df014-abfb-4b13-ab74-cbb0d8ecbaf0">0.5</ix:nonFraction>% per annum and the alternate base rate plus <ix:nonFraction unitRef="number" contextRef="i826b214e658d46a79510bbd20e137e62_D20181224-20181224" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzMwNTk_b466c417-b8a0-4ff0-9fe6-606147e28f7f">1.0</ix:nonFraction>% per annum), based upon our Required Leverage Ratio. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="ie9b3e4fbb1fa4b98a7289ca9ed9ad0a0"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fees payable on the unused portion of the Revolving Facility were <ix:nonFraction unitRef="number" contextRef="i1e858f386e8440168941459a4818d4b1_D20181224-20181224" decimals="INF" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwMjA_a3d9e492-a286-4600-bb6b-9647e234432a">0.25</ix:nonFraction>% per annum, unless the average usage of the Revolving Facility was equal to or less than $<ix:nonFraction unitRef="usd" contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224" decimals="INF" format="ixt:numdotdecimal" name="appf:LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwNDE_52297a72-ae18-4cd1-96f3-ce00c26efbfb">30.0</ix:nonFraction>&#160;million for the applicable period, in which case the fees on the unused portion of the Revolving Facility would have been <ix:nonFraction unitRef="number" contextRef="i1e858f386e8440168941459a4818d4b1_D20181224-20181224" decimals="INF" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwNjM_ae3b26a8-63f2-4b80-b415-9db117d1c3b1">0.375</ix:nonFraction>% per annum.&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In connection with the MyCase Transaction, and as required by the terms of the Credit Agreement, the Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility thereunder, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the MyCase Transaction and extinguished. Immediately prior to the repayment of amounts owed under, and termination of, the Credit Agreement, there were approximately $<ix:nonFraction unitRef="usd" contextRef="ia5623b515ce04b94a632d2c12bfbd351_I20200929" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzU5NDI_96a85cea-a9db-442b-8a4b-a05232b4c796">48.1</ix:nonFraction>&#160;million in term loans outstanding and $<ix:nonFraction unitRef="usd" contextRef="i1f47cdaf3a8945fe95c94b53adcfd508_I20200929" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzU5NzE_311698e8-e20d-4d96-bf9d-c02f1dd62c1f">49.1</ix:nonFraction>&#160;million in revolving borrowings outstanding. Refer to Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, and Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures and Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, of our Consolidated Financial Statements for more information about the MyCase Transaction.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Debt Financing Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Second Amendment, we incurred $<ix:nonFraction unitRef="usd" contextRef="i2713f3c7fb3a48aa9a42d605d7028a69_I20181224" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyMjY_efb793b3-68c4-4d72-90fc-fd86915b3429">0.4</ix:nonFraction>&#160;million in financing fees that were capitalized and amortized over the remaining life of the related debt, $<ix:nonFraction unitRef="usd" contextRef="ia63bf3ccdce24413b417a81518b6bd6a_I20181224" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyNTM_b3130991-3918-44fa-a63b-4090583da04a">0.2</ix:nonFraction>&#160;million of which was related to the Term Loan and $<ix:nonFraction unitRef="usd" contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyODA_43200052-c78e-4003-8524-d14adae57c47">0.2</ix:nonFraction>&#160;million of which was related to the Revolving Facility. Pursuant to GAAP, the Second Amendment is accounted for as a debt modification. As a result, the unamortized deferred debt financing costs related to the Revolving Facility prior to the Second Amendment were added to the $<ix:nonFraction unitRef="usd" contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzczMDc_1bb3a05f-d720-4508-8813-27975c59533e">0.2</ix:nonFraction>&#160;million of deferred debt financing costs related to the Second Amendment and amortized over the remaining life of the Revolving Facility.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Debt financing costs were deferred and amortized, using the straight-line method, which approximated the effective interest method, for costs related to the Term Loan and the straight-line method for costs related to the Revolving Facility over the term of the arrangement; such amortization is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest expense, net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the Consolidated Statements of Operations. Amortization of deferred debt financing costs was not material for the years ended December&#160;31, 2020, 2019 and 2018. At December&#160;31, 2019, the remaining unamortized deferred debt financing costs were $<ix:nonFraction unitRef="usd" contextRef="ifa0ef33b66ab45b2be95c13e1a816073_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ3MjI_40605019-e4fe-4749-a0d7-0aa86413a242">0.4</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzAwMjE_4908fc73-eeed-4910-affa-f17bb4fc1300">0.2</ix:nonFraction> million was offset against debt. As of December&#160;31, 2019, $<ix:nonFraction unitRef="usd" contextRef="i829c8c644d9041498e5e6b8e3b91f03a_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzAwMzQ_21b8765a-a2a0-4e6a-bc8f-dce3790c9a7a">0.3</ix:nonFraction> million of the remaining unamortized deferred debt financing costs were recorded in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Other long-term assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Condensed Consolidated Balance Sheets, as they pertained to the Revolving Facility. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzY1OTcwNjk3ODAwNjI_c1f02488-fb72-4f6a-92dc-856168285767" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of our long-term debt as of December&#160;31, 2020 and December&#160;31, 2019 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:69.617%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.809%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.810%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amounts due under Term Loan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzEtMi0xLTEtNjY5MA_f2edb7f5-886e-4210-a895-ab0cca770a9f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzEtNC0xLTEtNjY5Mg_8c313d78-a64e-47f9-9d5f-e49abd577ff5">48,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized debt financing costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredFinanceCostsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzItMi0xLTEtNjY5MA_c772e65c-6d5d-4501-a0ad-3b3323ecf310">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231" decimals="-3" name="us-gaap:DeferredFinanceCostsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzItNC0xLTEtNjY5Mg_6c3f67be-a2a7-41f2-a16f-4c8664e016c7">167</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt, net of unamortized debt financing costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:LongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzMtMi0xLTEtNjY5MA_c5c2d6ed-751e-421a-94b1-7118aa0d2131">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzMtNC0xLTEtNjY5Mg_bd65d884-0786-424f-a1e1-3dce4fc5c765">48,583</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_133"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzQxNDk_4ca33e7a-60ce-488b-af98-efa4195718cf" continuedAt="iec3ca6413c6541feba1eea3643daa9c3" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><ix:continuation id="iec3ca6413c6541feba1eea3643daa9c3" continuedAt="i6ad9a3d444f14b698b4a451693d88653"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Liability to Landlord Insurance</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use our insurance services, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzQzMA_97a44794-a8c0-483f-9a1f-c51ac39dafc1">100,000</ix:nonFraction> per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a <ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" name="us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzU4Nw_27484a5a-d7b6-4695-866d-a4e3e4b5dd48">100</ix:nonFraction>% quota share of the legal liability to landlord insurance provided to our customers through our third-party service provider. Included in cost of revenue we accrue for reported claims, and an estimate of losses incurred but not reported by our property management customers, as we bear the risk related to claims. Our liability for reported claims and incurred but not reported claims at December&#160;31, 2020 and 2019 was $<ix:nonFraction unitRef="usd" contextRef="i46fb2a43bf58405182bde6aa9232f5fa_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzk5MQ_e1b3fcc7-ea10-4f83-8086-623e9c10d042">1.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i617566f47284443e9deae70759318fe3_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzk5OA_36787cf2-e997-4cca-a580-659f1e2c9a7d">1.8</ix:nonFraction> million, respectively, and is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in prepaid expenses and other current assets as of December&#160;31, 2020 and 2019 are $<ix:nonFraction unitRef="usd" contextRef="i757d8937ab924ece9470646b55114888_I20201231" decimals="-5" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzExNzI_714db72d-b45f-4e54-ad0a-b6899773c503">2.7</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ida24abba03d94978821a3af5af849f29_I20191231" decimals="-5" format="ixt:numdotdecimal" name="appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzExNzk_71f53ec6-8eb3-4944-bc49-f5646b7becf3">1.3</ix:nonFraction> million, respectively, of deposits held with a third party related to requirements to maintain collateral for our insurance services.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2019, we received a Request for Information from the Civil Rights Division (Housing and Civil Enforcement Section) of the U.S. Department of Justice ("DOJ") requesting certain information relating to our compliance with the Servicemembers Civil Relief Act in connection with our tenant screening Value+ service. On November 6, 2020, the DOJ issued a no action letter, declining to take any action against us and closing its investigation. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i6ad9a3d444f14b698b4a451693d88653" continuedAt="icb0f12a56eaa4d08830591251220d06a"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2018, we received a Civil Investigative Demand from the Federal Trade Commission ("FTC") requesting certain information relating to our compliance with the Fair Credit Reporting Act in connection with our tenant screening Value+ service (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there is a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA that could result in monetary penalty and/or injunctive relief. We disagree with the stated belief of the FTC and vigorously defended our position.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notwithstanding our disagreement with the FTC's position, and primarily in an effort to avoid protracted litigation and potential distraction to our business, we entered into settlement negotiations with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. Those settlement negotiations resulted in a final agreement between the parties that is memorialized in a Stipulated Order for Permanent Injunction and Civil Penalty Judgment filed in the United States District Court for the District of Columbia on January 12, 2021. We admitted no wrongdoing in connection with the settlement.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the second quarter of 2020, we determined that a loss stemming from the FTC Investigation was probable and that a reasonable estimate of the loss was approximately $<ix:nonFraction unitRef="usd" contextRef="i45088498d4d54152a858c260f003d2c1_I20200930" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LossContingencyEstimateOfPossibleLoss" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyNjI_96112f5d-d21b-435e-9094-c338bf221511">4.3</ix:nonFraction>&#160;million. Accordingly, an accrual of $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyNzY_297acf68-318b-4280-a877-51cb6147ab71">4.3</ix:nonFraction>&#160;million is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">accrued expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheet as of December&#160;31, 2020. The ultimate settlement amount of $<ix:nonFraction unitRef="usd" contextRef="i6bcd27dfaced473d9f8ce876ed96f27c_D20210101-20210131" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsForLegalSettlements" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyOTA_1f2ece8c-d099-424d-9b95-477132582ca9">4.3</ix:nonFraction>&#160;million was paid in January 2021. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the foregoing, from time to time, we are involved in various other investigatory inquiries or legal proceedings arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, regulatory and contractual issues. Although the results of such investigatory inquiries and legal proceedings cannot be predicted with certainty, we believe that we are not currently a party to any investigatory inquiries or legal proceeding(s) which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnification</span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="icb0f12a56eaa4d08830591251220d06a">In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. At&#160;December&#160;31, 2020&#160;and&#160;2019, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.</ix:continuation> </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_139"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzYzOTI_d3142f8d-4cef-4e7e-a88b-e31054018129" continuedAt="i06229d6e193f4dee82cd4b4daed3c4c5" escape="true">Stockholders&#8217; Equity </ix:nonNumeric></span></div><ix:continuation id="i06229d6e193f4dee82cd4b4daed3c4c5" continuedAt="i37fda136191d4e55b8d35f889ea13e61"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Amended and Restated Certificate of Incorporation</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon the effectiveness of our Amended and Restated Certificate of Incorporation on June 25, 2015, the number of shares of capital stock that is authorized to be issued was increased to <ix:nonFraction unitRef="shares" contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CapitalUnitsAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI2OQ_e8a80917-3238-4f38-b58e-57b67379314e">325,000,000</ix:nonFraction> shares, of which <ix:nonFraction unitRef="shares" contextRef="i486b50d6796e458787aeee05fb98d767_I20150625" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI4OQ_b716adab-8e35-430f-9fb9-4dc5cf6c974d">250,000,000</ix:nonFraction> shares are Class A common stock, <ix:nonFraction unitRef="shares" contextRef="i06d1dcad0b414943bd97379ecab92675_I20150625" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzMyNQ_e4588c9c-530f-4f64-8ecf-03b9f550912e">50,000,000</ix:nonFraction> shares are Class B common stock and <ix:nonFraction unitRef="shares" contextRef="ie9581f6f547543d2a095259cacc478e1_I20150625" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzM2NA_b6b3652c-05cf-470e-8e21-105975c364a4">25,000,000</ix:nonFraction> are undesignated preferred stock. The Class A common stock, Class B common stock and preferred stock have a par value of $<ix:nonFraction unitRef="usdPerShare" contextRef="i486b50d6796e458787aeee05fb98d767_I20150625" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ4OA_5cac2678-fc0e-499c-b692-3e23ab77d7c5"><ix:nonFraction unitRef="usdPerShare" contextRef="i06d1dcad0b414943bd97379ecab92675_I20150625" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ4OA_6c8ba824-bb07-42e2-8f48-f737eef9ebe8">0.0001</ix:nonFraction></ix:nonFraction> per share. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Class A Common Stock and Class B Common Stock </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except for voting rights, or as otherwise required by applicable law, the shares of our Class&#160;A common stock and Class B common stock have the same powers, preferences and rights and rank equally, share ratably and are identical in all respects as to all matters. The rights and preferences are as follows:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Dividend Rights</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Subject to preferences that may apply to any shares of preferred stock outstanding at the time, the holders of outstanding shares of our Class A common stock and Class B common stock are entitled to receive dividends out of funds legally available at the times and in the amounts that our Board of Directors may determine. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i37fda136191d4e55b8d35f889ea13e61"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Voting Rights</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The holders of our Class&#160;A common stock are entitled to <ix:nonFraction unitRef="vote" contextRef="iccdd68156c904b7b8b969730c9de8556_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="appf:CommonStockNumberOfVotesPerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzE0MjY_118b06d4-9476-4f3b-a533-804b95defb08">one</ix:nonFraction> vote per share, and holders of our Class B common stock are entitled to <ix:nonFraction unitRef="vote" contextRef="i3505cdf241aa4a2c8081f6d9f7a4c764_D20200101-20201231" decimals="INF" name="appf:CommonStockNumberOfVotesPerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzE1MDE_cf54f973-6bae-40dd-a46b-36f653fb3708">10</ix:nonFraction> votes per share. The holders of our Class&#160;A common stock and Class B common stock will vote together as a single class on all matters submitted to a vote of our stockholders, unless otherwise required by Delaware law or our amended and restated certificate of incorporation. Delaware law could require either holders of our Class&#160;A common stock or holders of our Class B common stock to vote separately. In addition, our amended and restated certificate of incorporation requires the approval of the holders of at least a majority of the outstanding shares of our Class B common stock, voting as a separate class to approve a change-in-control transaction. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Conversion</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Upon the closing of our initial public offering ("IPO"), all shares of our convertible preferred stock and common stock held prior to the offering were converted into shares of Class B common stock. Currently, each share of our Class B common stock is convertible at any time at the option of the holder into <ix:nonFraction unitRef="number" contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="appf:ConversionOfStockNumberOfSharesIssuableUponConversion" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI0ODQ_a89b6bd6-e4fc-4c89-ace6-62d51136c3b1">one</ix:nonFraction> share of our Class&#160;A common stock. In addition, each share of our Class B common stock will convert into <ix:nonFraction unitRef="number" contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="appf:ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI1OTI_1c94eac0-b99b-4e2d-8027-0c67fc6a454f">one</ix:nonFraction> share of our Class&#160;A common stock upon any transfer, whether or not for value, except for certain transfers described in our amended and restated certificate of incorporation, including, without limitation, (i)&#160;a transfer by a partnership or limited liability company that was a registered holder of our Class B common stock at the &#8220;effective time,&#8221; as defined in our amended and restated certificate of incorporation, to a partner or member thereof at the effective time or (ii)&#160;a transfer to a &#8220;qualified recipient,&#8221; as defined in our amended and restated certificate of incorporation. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All the outstanding shares of our Class B common stock will convert automatically into shares of our Class&#160;A common stock upon the date when the number of outstanding shares of our Class B common stock represents less than <ix:nonFraction unitRef="number" contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231" decimals="INF" name="appf:CommonStockAutomaticConversionThreshold" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzM0MDg_8d1af1bf-ed37-4594-afde-3a4a764df3eb">10</ix:nonFraction>% of all outstanding shares of our Class&#160;A common stock and Class B common stock. Once converted into our Class A common stock, our Class B common stock may not be reissued. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Right to Receive Liquidation Distributions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Upon our dissolution, liquidation or winding-up, the assets legally available for distribution to our stockholders are distributable ratably among the holders of our Class&#160;A common stock and Class B common stock, subject to prior satisfaction of all outstanding debt and liabilities and the preferential rights and payment of liquidation preferences, if any, on any outstanding shares of preferred stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Preferred Stock </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective upon the filing of our amended and restated certificate of incorporation in June 2015, <ix:nonFraction unitRef="shares" contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQxNTE_46ab214d-ac6e-4b58-aba8-495245431d45">no</ix:nonFraction> shares of preferred stock were outstanding because all outstanding shares of our convertible preferred stock converted into our Class B common stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of our amended and restated certificate of incorporation, our Board of Directors will be authorized, subject to limitations prescribed by Delaware law, to issue up to <ix:nonFraction unitRef="shares" contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ0OTc_96afc49b-e4e1-4a22-bd3a-870c9d2974da">25,000,000</ix:nonFraction> shares of our preferred stock in one or more series, to establish from time to time the number of shares to be included in each series, and to fix the designation, powers, preferences and rights of the shares of each series and any of its qualifications, limitations or restrictions, in each case without further action by our stockholders. The number of authorized shares of any series of preferred stock may be increased or decreased, but not below the number of shares of that series then outstanding, by the affirmative vote of the holders of a majority of the voting power of our outstanding capital stock entitled to vote thereon, or such other vote as may be required by the certificate of designation establishing the series. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchase Program</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 20, 2019, our Board of Directors authorized a $<ix:nonFraction unitRef="usd" contextRef="i86d127b091904d9fba57f908929b83a8_I20190220" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1NzU_6acbe09a-a82b-4684-8fc9-c3361e431136">100.0</ix:nonFraction>&#160;million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of <ix:nonFraction unitRef="director" contextRef="i86d127b091904d9fba57f908929b83a8_I20190220" decimals="INF" format="ixt-sec:numwordsen" name="appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU2MTQ_5f5254ec-dd47-4010-a0fa-ece102b35686">three</ix:nonFraction> directors, in open market purchases or in privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the Share Repurchase Program, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and it may be modified, suspended or terminated at any time and for any reason. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2020, we repurchased a total of <ix:nonFraction unitRef="shares" contextRef="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1OTE_eb1cfc29-7647-42c0-8b9d-2dc94e418d7c">48,002</ix:nonFraction> shares of our Class A common stock through open market repurchases, and recorded a $<ix:nonFraction unitRef="usd" contextRef="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1OTk_f1317b3f-e423-47e0-8381-b6ef5e0ffbbe">4.2</ix:nonFraction>&#160;million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Share Repurchase </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Program subsequent to the three months ended March 31, 2020.</span></div></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_145"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNjg_7096bbde-9c9c-4e00-8013-e281a65b261d" continuedAt="ica599fd103a543ef9512771e88ff6a87" escape="true">Stock-Based Compensation</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"><ix:continuation id="ica599fd103a543ef9512771e88ff6a87" continuedAt="ie2a5a374d47e4d58b5b13f20ebf851cd">2015 Stock Incentive Plan</ix:continuation></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="ie2a5a374d47e4d58b5b13f20ebf851cd" continuedAt="i16ca159e92244a4aa5f1c795d35cb72b"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with our IPO in 2015, our Board of Directors and stockholders adopted the 2015 Stock Incentive Plan (the "2015 Plan"). Upon adoption of the 2015 Plan, <ix:nonFraction unitRef="shares" contextRef="i3ad85cad9ecc44e0a7d7902695ac893b_I20151231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzIyOA_bcc0e0cd-743e-45af-8026-f6c7c6685a3e">2,000,000</ix:nonFraction> shares of our Class A common stock were reserved and available for grant and issuance. On January 1 of each subsequent calendar year, the number of shares available for grant and issuance under the 2015 Plan increase by the lesser of (i)&#160;the number of shares of our Class A common stock subject to awards granted under the 2015 Plan during the preceding calendar year and (ii)&#160;such lesser number of shares of our Class A common stock determined by our Board of Directors. At December&#160;31, 2020, we have reserved an aggregate of <ix:nonFraction unitRef="shares" contextRef="i8a3bcdd9b57444c5a51e029d3423b314_I20201231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzc0Mw_614705a8-beb8-474e-872e-7efc757a1492">4,026,493</ix:nonFraction> shares of our Class&#160;A common stock for grant and issuance under the 2015 Plan. The number of shares of our Class A common stock is also subject to adjustment in the event of a recapitalization, stock split, reclassification, stock dividend or other change in our capitalization. The 2015 Plan authorizes the award of stock options, stock appreciation rights, RSAs, RSUs, performance awards and stock bonuses. The 2015 Plan provides for the grant of awards to our employees, directors, consultants and independent contractors, subject to certain exceptions. RSUs, PSUs, and RSAs have been issued during 2020 pursuant to the 2015 Plan.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options may vest based on the passage of time or the achievement of performance conditions at the discretion of our compensation committee.&#160;Our compensation committee may provide for stock options to be exercised only as they vest or to be immediately exercisable with any shares issued on exercise being subject to our right of repurchase that lapses as the shares vest.&#160;The maximum term of stock options granted under the 2015 Plan is <ix:nonNumeric contextRef="i99819e9e20e74b18823f1ff272f2c656_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzE4MjI_9a26eb8f-0e55-4386-b576-69ec45f9372b">10</ix:nonNumeric> years.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs and PSUs represent the right on the part of the holder to receive shares of our Class&#160;A common stock at a specified date in the future or the achievement of performance conditions at the discretion of our compensation committee, subject to forfeiture of that right due to termination of employment.&#160;If an RSU or PSU has not been forfeited, then, on the specified date, we will deliver to the holder of the RSU or PSU shares of our Class&#160;A common stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2007 Stock Incentive Plan</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;14, 2007, our Board of Directors adopted the 2007 Stock Incentive Plan (the &#8220;2007 Plan&#8221;). Following our IPO, our Board of Directors determined not to make any further awards under the 2007 Plan. The 2007 Plan expired on February 14, 2017. The 2007 Plan will continue to govern outstanding awards granted under the 2007 Plan.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MTg_57bc4cd5-fafd-46e8-92b7-e48a914efe22" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of our stock option activity for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:53.219%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.397%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Exercise Price&#160;per&#160;Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual&#160;Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December&#160;31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtMi0xLTEtMA_884c07b5-317a-4b8c-8c52-d16472ba0fcc">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtNC0xLTEtMA_54166532-934a-424f-9d98-6b09e43e520b">11.84</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtNi0xLTEtMA_09fdb2f1-01e5-4b3a-a2df-a23bce946c13">5.9</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzItMi0xLTEtMA_8f1f434e-ccfa-43c5-adcd-67ce6957c9b3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzItNC0xLTEtMA_404e5996-7faf-4dfa-a355-d9e977bea2e5">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzMtMi0xLTEtMA_921f61b9-7a6b-4eab-80f0-ed6e6068da1f">119</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzMtNC0xLTEtMA_8e542516-0ad9-4689-a89e-f45187c338dc">6.93</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzQtMi0xLTEtMA_8868c94b-3c08-4e0a-908e-f252f6db8103">55</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzQtNC0xLTEtMA_b75bdad9-9372-412f-ac80-648d7e65a118">23.75</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtMi0xLTEtMA_ff32f253-525c-497e-bbce-ff6eef4f0951">1,168</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtNC0xLTEtMA_e7089fb1-fe79-4c12-8c3c-97b0c002502d">11.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtNi0xLTEtMA_c42dd6d7-bd09-4214-9676-0cb8d022875f">5.0</ix:nonNumeric></span></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">At December&#160;31, 2020:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and expected to vest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtMi0xLTEtMA_73e91e64-26cf-4980-be81-f40a1a183a18">1,168</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtNC0xLTEtMA_623bd23a-2853-49ea-8a82-7a3a9f9d34fe">11.77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtNi0xLTEtMA_8d39ce89-7a82-4114-a13d-efe5aca6319f">5.0</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercisable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktMi0xLTEtMA_a6454609-a572-4f41-b57f-0dba1a2472e1">1,168</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktNC0xLTEtMA_70a3fea0-127f-4ce7-b543-9c15272c3a6d">11.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktNi0xLTEtMA_7b340508-b753-4fde-9c7f-51816599ecf9">5.0</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended&#160;December&#160;31, 2020, <ix:nonFraction unitRef="shares" contextRef="i1b2e06d0b70d42e9bb04a8e372756b02_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNjE_f954efa5-ea71-4653-b7e7-558b90234f99">77,000</ix:nonFraction> PSOs vested based on the achievement of <ix:nonFraction unitRef="number" contextRef="id458400680174ae3a9d186337b40caf5_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNzA_80a15fc3-a15e-4291-8fb6-02f87371007e">95</ix:nonFraction>% of the pre-established free cash flow performance target for the year ended December 31, 2019, and <ix:nonFraction unitRef="shares" contextRef="iccbf8db6b3764aae825f3fe2535d2c10_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNzU_0a213fd6-432c-473a-b737-a8d196de9151">40,000</ix:nonFraction> PSOs vested based on the achievement of <ix:nonFraction unitRef="number" contextRef="id1b662444b08435dbe2208bd233d411a_I20191231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwODM_939613be-d589-4b33-a286-85cc792e823a">115</ix:nonFraction>% of the pre-established gross margin target for the year ended December 31, 2019.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our stock-based compensation expense for stock options for the years ended December&#160;31, 2020 was not material. Our stock-based compensation expense for stock options for the years ended December 31, 2019 and 2018 was $<ix:nonFraction unitRef="usd" contextRef="i26426ceddf214a1ea5914e18c010cc38_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ2MDc_06cce1a3-eed4-4254-a62d-476f46d73e01">0.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i4fd6f08a9bb84b028249c0fdce83d8bb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ2MTU_a6ecf2b6-e876-4c5a-b6d0-d9c196c0aefb">1.6</ix:nonFraction> million, respectively. At December&#160;31, 2020, the total remaining stock-based compensation expense for unvested stock options was <ix:nonFraction unitRef="usd" contextRef="i5a75de892bd14090845814ed9650eb72_D20200101-20201231" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyOTY_d10cc4b5-cccf-4e5b-98ad-62003fb693bf">no</ix:nonFraction>t material.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. <ix:nonFraction unitRef="shares" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_41695bcb-fd3c-4d41-a007-ce7ee045a1aa"><ix:nonFraction unitRef="shares" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_4aa4f664-fb7a-4337-9b38-a04b56303501"><ix:nonFraction unitRef="shares" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_5f1809e4-9137-4517-9bb0-3b21469fc4aa">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> stock options were granted during the years ended December&#160;31, 2020, 2019 or 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic value of options exercised in 2020, 2019 and 2018 was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUwNjE_4ce5ba52-7a8c-4bca-901f-18bd588b5077">17.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ5NDc4MDIzMzQ0NzI_01034330-4cbd-4531-a6fb-d0ae1325f1ec">11.5</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUwNjU_8377c22c-26be-4bed-91f1-9bbeebab09c2">7.5</ix:nonFraction> million, respectively. This intrinsic value represents the difference between the fair value of our common stock on the date of </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i16ca159e92244a4aa5f1c795d35cb72b" continuedAt="i8ae8d58897434e0e8ea4075e29ced019"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">exercise and the exercise price of each option. Based on the fair value of our common stock at December&#160;31, 2020, the total intrinsic value of all outstanding options, exercisable options, and options vested and expected to vest was $<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUzNTI_314bed50-1e52-4ac3-bdc5-c7665a189b23">196.6</ix:nonFraction> million. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The excess tax benefit realized from option exercises during the years ended December&#160;31, 2020, 2019 and 2018 was $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzI3NDg3NzkwOTQ4MjM_62a63239-18b8-4c5f-9254-510b03ff36d2">30.1</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzU1OTU_79539a43-6173-4982-85cb-0f87b15319a2">20.5</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzU1OTk_9479bef5-98df-4328-90f8-eafc402e65c9">7.7</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDQ_8172e1ea-b7a1-4505-b2b0-a995c94da062" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSUs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:64.442%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.322%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.470%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i950a2961c7164c988b3443285bc84af6_I20191231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzEtMi0xLTEtMA_4688bee9-5fba-4c18-bf88-96871213ade0">646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i950a2961c7164c988b3443285bc84af6_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzEtNC0xLTEtMA_9e99b5c5-0972-4440-a0b5-2c6bd22d3c71">52.42</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzItMi0xLTEtMA_0fc69ed3-0052-4bf5-91f8-5c29ea116b09">174</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzItNC0xLTEtMA_94bd7ae9-6670-4301-9ab1-f449644dc34d">112.24</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzMtMi0xLTEtMA_7b347750-edf6-4901-8137-f915cdc91702">268</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzMtNC0xLTEtMA_19c83f16-5821-49a4-8bc4-4ac4d35606db">36.58</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzQtMi0xLTEtMA_b22d1aed-c8d2-4c59-9920-6aef8d666c75">69</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzQtNC0xLTEtMA_dd9a4508-408a-4452-9d5e-beadd40bc4a6">70.52</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzUtMi0xLTEtMA_9d82409a-30d2-4e55-bcbf-f7d3859714e4">483</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzUtNC0xLTEtMA_d8a7e036-0579-406b-a78d-33f1307757b4">80.20</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;year ended&#160;December&#160;31, 2020, we granted a total of&#160;<ix:nonFraction unitRef="shares" contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwODk_a88f1628-9cc8-4f11-8f48-8b0aefa3a901">160,000</ix:nonFraction>&#160;RSUs that are subject to time-based vesting in equal annual installments over <ix:nonNumeric contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMDg_d055a53f-09d8-4a43-bf6c-4da984eaeeb2">four years</ix:nonNumeric>, and <ix:nonFraction unitRef="shares" contextRef="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMTA_b5e571af-36fd-4b19-837b-ca68a2db3340">14,000</ix:nonFraction> PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2020, 2021 and 2022, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at <ix:nonFraction unitRef="number" contextRef="id4243e69cf1948019aae6107533fa3cc_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMTg_3f375004-0a38-4436-88b3-ddb529e25a0b">100</ix:nonFraction>% of the performance target. The actual number of shares to be issued at the end of the performance period will range from <ix:nonFraction unitRef="number" contextRef="ibf5c2c756ac0462282be61345828597f_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMjQ_3f5cc00c-5442-4d0b-97ff-80e9366bffc2">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i0bcca23ab6324e1983320926fcd91402_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMjk_a91d1bef-4074-4432-8d8f-ab74a21e7371">100</ix:nonFraction>% of the initial target awards. Achievement of the performance metric between <ix:nonFraction unitRef="number" contextRef="id6e5225ba00e4ca9b59edf699af0b36b_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMzU_68283db9-683f-49e7-a1ca-cead4e01d6ef">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i7f02992a4d704a7ea6286f30ad53e8f9_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNDE_3e7c3093-6b6c-4ae4-bf48-fc65ec1a8d19">150</ix:nonFraction>% of the performance target will result in a performance-based cash bonus payment between <ix:nonFraction unitRef="number" contextRef="i3cd044a5772d4b08a888332b9e2800e0_D20200101-20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNDc_a54b8ba5-a63d-4337-ab9a-a07edbe2757b">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i073aee93ba424d17a2d7685bcc354bdd_D20200101-20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNTM_4a2e8270-2953-4b8f-8d6a-33c54158502b">165</ix:nonFraction>% of the initial target awards.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;year ended&#160;December&#160;31, 2020,&#160;<ix:nonFraction unitRef="shares" contextRef="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNTk_b4e5140d-a6fe-48f4-9bf6-d26bd1d7ac27">84,000</ix:nonFraction> PSUs vested and <ix:nonFraction unitRef="shares" contextRef="iafd019a04c294eb9b38b19f3a4b4e49f_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNjc_05b912b6-60e5-42d8-a1c5-a20e4fb0e952">4,000</ix:nonFraction> PSUs were cancelled based on the achievement of <ix:nonFraction unitRef="number" contextRef="i7135702889054051b650f307ee947896_I20191231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNzQ_53bc7827-d0ff-4fae-8c60-362d13b76608">95</ix:nonFraction>% of the pre-established free cash flow performance target for the year ended December 31, 2019. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in the unvested RSUs and PSUs at&#160;December&#160;31, 2020 are <ix:nonFraction unitRef="shares" contextRef="i230571d2508e457e8827faf8a862be19_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNzk_205923d7-4ca0-4dba-889b-1ab96a61bf2e">32,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ie9950d2e74804d0ca847c54c886bed89_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxODc_4e7a5ec6-cbc8-4523-89f2-b53555df6665">82,000</ix:nonFraction> PSUs granted in 2019 and 2018, respectively. Of these PSUs, <ix:nonFraction unitRef="shares" contextRef="i5b9a767206d24226b594e699c010c7dd_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxOTU_c42c5c90-3f6a-430b-bf90-d51c8e85eedc">48,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2020, <ix:nonFraction unitRef="shares" contextRef="ibf610a2cad524f9aae9a0350522654f5_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMDM_4967c0b1-6113-4b2f-b6e1-2be41c5feb70">42,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, and <ix:nonFraction unitRef="shares" contextRef="i75b755e3278244d7a45ede24ced94bb7_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMTE_d2f4e0a9-febf-4d53-bd91-60b884da4e80">24,000</ix:nonFraction> are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022. The number of PSUs granted assumes achievement of the performance metric at <ix:nonFraction unitRef="number" contextRef="i097807896b5441218874897d2974c0ea_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMTk_e435661c-5dfa-47ed-906d-d453fea6ed5e">100</ix:nonFraction>% of the performance target. The actual number of shares to be issued at the end of the performance period will range from <ix:nonFraction unitRef="number" contextRef="i815f844a27394208bed6e807911fba9d_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMjU_a876a890-2fae-4f50-abe5-c53517c3870c">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i091b6e47073340c4a614455889151648_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMzA_7d768852-3b14-4ee4-b04a-8fe275c8281c">100</ix:nonFraction>% of the initial target awards. Achievement of the performance metric between <ix:nonFraction unitRef="number" contextRef="i33ced037467841c095de718193b884c7_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMzY_681e4c88-2030-4af4-a7b8-03928802b05c">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i4be262ef22eb49f0b6bae988c591d0eb_I20201231" decimals="INF" name="appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNDI_56469ae9-c76f-432b-ad01-15022a781bba">150</ix:nonFraction>% of the performance target will result in a performance-based cash bonus payment between <ix:nonFraction unitRef="number" contextRef="iea0b999a93144a26abf77107d3808e2b_D20200101-20201231" decimals="INF" name="appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNDg_e01e2dc5-f788-4203-bc76-ae0a8c483eab">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i5f352c5f20f94c8aa56aae90523e9892_D20200101-20201231" decimals="INF" name="appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNTQ_1c528119-1071-40f2-8377-b12721144598">165</ix:nonFraction>% of the initial target awards.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize expense for the PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for the RSUs and PSUs for the years ended December&#160;31, 2020, 2019 and 2018, was $<ix:nonFraction unitRef="usd" contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg1NDM_eb3a700b-a009-4631-8d1b-d04a92d38873">10.4</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="ie0151233bc0447fa88f5fa2684960e5a_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg1NDc_54e0ce51-dfb8-41fc-ad9f-564066eed476">8.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i35c4418faaa14a79b23a2cd2c7b2b434_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ5NDc4MDIzMzQ1MzI_fb9163e7-293c-4195-a4f5-a22784a8ab59">5.5</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, the total remaining stock-based compensation expense for these RSUs was $<ix:nonFraction unitRef="usd" contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg2NTI_85c1a9a3-5b25-4aa3-8766-c5779b8dadac">23.4</ix:nonFraction> million, which is expected to be recognized over a weighted average period of <ix:nonNumeric contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg3MjU_3874e743-1517-4d8e-8f61-8fadab49c343">2.2</ix:nonNumeric> years.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i8ae8d58897434e0e8ea4075e29ced019"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Awards</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDc_a0112c19-03ed-4282-b3c1-03fef373eca1" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSAs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:61.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.762%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted- Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzEtMi0xLTEtMA_5758d120-2882-47e7-bf15-7ddf2a54fa5b">5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzEtNC0xLTEtMA_6f496a8c-2fc3-403b-8355-e67570904465">105.88</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzItMi0xLTEtMA_3e91b2f5-f42e-41ae-b0c4-cb409304f843">5</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzItNC0xLTEtMA_40ecd8d6-b10e-486a-a399-73a7dc4fa5a5">153.41</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzMtMi0xLTEtMA_bc8f7631-d8fd-4b10-85e0-37141271ea44">5</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzMtNC0xLTEtMA_e36e7a4c-042a-442f-9dc4-9335dd26aac5">105.88</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzQtMi0xLTEtMA_1f7f3dc3-17f6-4a91-86c2-571467c10f3e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="2" format="ixt:zerodash" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzQtNC0xLTEtMA_b43a4412-fe7d-4c15-a8c9-fac7f0bbf3b4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzUtMi0xLTEtMA_c1a60929-9101-43de-882f-24cf6e909518">5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzUtNC0xLTEtMA_42581f68-08ec-4ced-bec9-2da5b8e8779f">153.41</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a <ix:nonNumeric contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIzMDQ_60c7ad48-7cdf-4711-9853-44a1d447e491">one-year</ix:nonNumeric> period. For the years ended December&#160;31, 2020, 2019 and 2018, we recognized stock-based compensation expense for RSAs of $<ix:nonFraction unitRef="usd" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNTE_2d87a75b-f388-4fce-b261-daadd30ab548">0.7</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="ib7ee5461abdf4bedbe15c2460cf8b782_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNTU_8ff1719a-c20e-4331-9c41-bc0b5c099071">0.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ifeb3fb87ab7a4cd1941bfb8991467ea9_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNjI_6a431f6b-2f90-4a12-9e69-826e71b1c94a">0.3</ix:nonFraction> million, respectively. During 2020, the grant date fair value of the shares vested was $<ix:nonFraction unitRef="usd" contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkyNDI_fec3e7a4-41ab-4bc8-a861-97c44a653476">0.5</ix:nonFraction> million.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, the total remaining stock-based compensation expense for unvested RSAs was $<ix:nonFraction unitRef="usd" contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkzMjk_420cc8a0-4b6f-41a1-bdcf-2a074c400044">0.4</ix:nonFraction> million, which is expected to be recognized over a weighted average period of <ix:nonNumeric contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDI_6284d273-487d-44af-888c-9bddfaea26af">0.7</ix:nonNumeric> years.</span></div></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_151"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">14. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0Mzk_5674c5e3-27fa-4c4f-ab10-3eca7fbfed1d" continuedAt="i5e26e33204994b90b2a51127caee269f" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="i5e26e33204994b90b2a51127caee269f" continuedAt="i474e36ec3c9547bdb457574981faea46"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, we recorded income tax expense of $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5Xzgz_080dc778-95d8-4c3d-bbcb-781c6c0c3dfb">38.4</ix:nonFraction> million. The tax provision for the year ended December&#160;31, 2020 includes tax expense of $<ix:nonFraction unitRef="usd" contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM4NzM_0f6c0e68-631b-4aef-8824-17cc77aba800">51.3</ix:nonFraction>&#160;million relating to the MyCase Transaction which includes $<ix:nonFraction unitRef="usd" contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM5MDI_ff06588a-74db-48d5-80cc-31f71b1abad0">52.3</ix:nonFraction>&#160;million of current tax expense on the gain on the sale of MyCase, less a $<ix:nonFraction unitRef="usd" contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM4ODg_62942387-9c1b-4966-898e-fceec29ada59">1.0</ix:nonFraction>&#160;million benefit on the reversal of deferred tax liabilities relating to MyCase. For tax purposes, we plan to file an election to treat the transaction as a sale of assets. As such, the tax impact takes into consideration the tax basis of the assets on the date of sale and the availability of net operating losses and research and development tax credits. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to state income taxes and the benefits associated with stock-based compensation expense and research and development tax credits.</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjI_08937dc9-b1b9-4ddc-bb63-810e62b03431" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Set forth below is a reconciliation of the components that caused our provision for income taxes to differ from amounts computed by applying the United States federal statutory rate for the years ended December&#160;31, 2020, 2019, and 2018: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.243%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. federal statutory income tax rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItMS0xLTEtMA_c5bf471a-a7c0-455a-b31f-d042c7607442">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItMy0xLTEtMA_57dce016-a6ee-4b96-8c98-1bc475b856e5">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItNS0xLTEtMA_b49e6f0d-5b35-4bf1-9db9-4d016056a75d">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State and local income taxes, net of federal benefit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtMS0xLTEtMA_85875ac6-fe62-4aec-8b06-70e293534d2a">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtMy0xLTEtMA_edea3a3e-43bb-4674-81b4-90680616a7b7">53</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtNS0xLTEtMA_549646f0-1154-46f6-9357-3c86a44b2290">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtMS0xLTEtMA_f54760d7-ff9f-4f39-8a40-4e91c3a9bbac">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtMy0xLTEtMA_d4a32430-6111-459f-8231-bb696baf978e">88</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtNS0xLTEtMA_bde1c01e-c2a8-4eb9-ae17-a39f3ef39a75">7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Meals and entertainment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" format="ixt:zerodash" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtMS0xLTEtMA_ed130793-baf1-4915-ad18-938d46927383">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtMy0xLTEtMA_d490b279-4ab5-4af9-9744-4fbca00a982a">7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtNS0xLTEtMA_fb2a0631-c803-4719-90f1-5772e30078c2">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" format="ixt:zerodash" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctMS0xLTEtMA_5f770e4e-e158-47b9-a09d-0ac072f07127">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctMy0xLTEtMA_6396dc1e-d2a2-4ce9-92b7-1557649f0519">475</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctNS0xLTEtMA_b262b8d0-bfbd-4010-b01d-24187fbdaa11">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other permanent differences</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMS0xLTEtNDMwMg_feb7771c-8f90-4db3-9e5b-9278d48fecff">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" format="ixt:zerodash" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMy0xLTEtNDMwMg_78ac5955-54e9-4bec-b864-f023369074c8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" format="ixt:zerodash" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktNS0xLTEtNDMwMg_bb3a2d06-7d1f-4d57-be43-86c1b60641a2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMS0xLTEtMA_c85ca1fa-1100-4ee0-a4a8-95625542b748">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMy0xLTEtMA_7042eb68-023e-42f9-9fc6-df767f29a0ea">64</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktNS0xLTEtMA_d9b098aa-f910-48f1-8b6a-bfb27513467a">9</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTEtMS0xLTA_ab62fd10-39f4-44b5-ae13-6e2a039306ba">20</ix:nonFraction>&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTMtMS0xLTA_7d9831a5-5e9e-4b7c-ad65-b263f412a84b">652</ix:nonFraction>)</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTUtMS0xLTA_605dbe50-f228-4290-a54e-1f7f5cbe1aa3">2</ix:nonFraction>&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i474e36ec3c9547bdb457574981faea46" continuedAt="i66a13ea017d0428f927d24a5ad4b4db9"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjM_da788b17-1f08-48ec-85db-51b74a62edf1" escape="true"><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for (benefit from) income tax consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.243%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtMS0xLTEtMA_005eba68-5d95-4432-8ced-70af1ed182d6">3,982</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtMy0xLTEtMA_6e10ba0f-fc84-4724-bb02-f8c0f856ac08">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:zerodash" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtNS0xLTEtMA_c6ec8ebc-bed9-4452-8c70-b41dffc5325d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtMS0xLTEtMA_3dd4d105-5e48-4a12-ae50-e71ccc260a0d">5,444</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtMy0xLTEtMA_a99f838d-8d8b-47cf-91fd-a95d75b7599a">15</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtNS0xLTEtMA_6dd369a1-a32b-4a79-b3ae-ee59f5c8fd29">339</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtMS0xLTEtMA_f1ea0e54-e459-4298-857f-4c26122fe519">9,426</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtMy0xLTEtMA_3a36220b-7a9c-42be-aaba-911f717df1ca">15</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtNS0xLTEtMA_eee42fab-cd5c-40f9-a7eb-fc6c773be145">339</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctMS0xLTEtMA_314cc217-fc2b-4d81-9315-28b1369c6d05">27,982</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctMy0xLTEtMA_5d703acd-6579-4556-b970-71a5e24a23ba">18,761</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctNS0xLTEtMA_85f9a83e-c413-4b83-b936-9705a1a865ae">65</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtMS0xLTEtMA_dcb40606-de7e-47ef-aa15-75ad43adae77">1,020</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtMy0xLTEtMA_82102891-37ed-453f-9695-500f101482c1">12,683</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtNS0xLTEtMA_b530f4f8-bd09-4dc9-98a6-f6e6778b8965">16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktMS0xLTEtMA_34f9253c-14e6-4fa5-9009-1d6fbb108a97">29,002</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktMy0xLTEtMA_8d7b6680-8ac9-499c-b94b-0c65489cdb6f">31,444</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktNS0xLTEtMA_289309a5-c427-476a-b6d5-6c8bf44fec5c">81</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision (benefit)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTEtMS0xLTA_1d6eb9ba-5ef8-4a1e-ae28-c997d14364e4">38,428</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTMtMS0xLTA_02cdcb6c-cb7f-4bcb-a149-1b21df4473a3">31,459</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTUtMS0xLTA_28197fd9-e78f-4942-9c39-124037ab8528">420</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjQ_5d85758f-4733-4944-82c9-1ed2943ebfb3" escape="true"><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of deferred tax assets (liabilities) were as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:74.706%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzMtMS0xLTEtMA_57df6477-832e-4ea4-9c97-a028d6338a90">4,112</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzMtMy0xLTEtMA_3f10ee7f-4e44-4a13-93ae-55a1e6fd4135">22,525</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzQtMS0xLTEtMA_42bd2619-d4f3-4605-905d-9a361ca4be60">9,467</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzQtMy0xLTEtMA_523a2029-a573-4f0f-9b28-6feaeb4dbf56">17,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzYtMS0xLTEtMA_21028499-f4eb-42dd-8971-a3deba7010e8">2,783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzYtMy0xLTEtMA_ba9db0ac-1bea-4c13-98d3-782c61f760d0">2,895</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxAssetsLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzctMS0xLTEtMA_357e699e-30e8-4a6d-803b-d8fb9c61ec30">9,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxAssetsLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzctMy0xLTEtMA_d72ca4f0-1c40-4daf-8f6a-383d2360f6e3">8,291</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzgtMS0xLTEtMA_ca8b5a3e-7110-4fb0-947d-42634ccd4701">2,196</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzgtMy0xLTEtMA_d6399f88-f841-4b45-99d1-0c6acdca3ed8">1,692</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzktMS0xLTEtMA_cff9bd84-e39e-470e-815c-40b840246241">28,550</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzktMy0xLTEtMA_945da62d-e3c3-4c66-ba54-509f5cf13c11">53,103</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzEzLTEtMS0xLTA_d5a252af-c631-4825-8bf8-196a90ffe6b3">13,412</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzEzLTMtMS0xLTA_4b70e748-916f-45c1-9212-435128ef0cac">7,965</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE0LTEtMS0xLTA_3acd0fc4-ec85-4b8c-8578-5b8a755900e9">2,693</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE0LTMtMS0xLTA_a2866ab8-d433-4d4e-9b20-1e324bd0c0f5">3,767</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxLiabilitiesCapitalizedCommissions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE1LTEtMS0xLTA_18c6e76a-4109-49a0-b14a-4ead25570cbc">2,708</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxLiabilitiesCapitalizedCommissions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE1LTMtMS0xLTA_9dec934b-f4b2-46dc-bfc0-7deff9e28a0e">2,492</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxLiabilitiesStateTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE2LTEtMS0xLTA_f771b076-3934-4bd3-bc7b-884fbbe4de8b">2,350</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="appf:DeferredTaxLiabilitiesStateTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE2LTMtMS0xLTA_072756a7-bfd9-45d3-acbe-a1305e30a8ef">2,563</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE3LTEtMS0xLTA_db1804e4-86ea-4b87-9fdb-9d644299fbd2">8,064</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE3LTMtMS0xLTA_b697cefc-1eb0-42fc-a80e-7a96aa4632f0">7,152</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE4LTEtMS0xLTA_23b7dfb3-7ae1-4f89-a402-862cc0653acf">751</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE4LTMtMS0xLTA_7d786d69-684f-4351-9a8c-0621ac955807">1,590</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE5LTEtMS0xLTA_9ef976dc-cf04-45fc-b2c5-4b01653fbe44">29,978</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE5LTMtMS0xLTA_38f55f98-d7dd-4ec8-84b5-801f36a092ab">25,529</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax (liabilities) assets</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzIwLTEtMS0xLTA_e8f581b9-b3a4-487a-b1a2-c50aec0d237c">1,428</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzIwLTMtMS0xLTA_88d25712-341e-42f0-9194-50afee8f95b8">27,574</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we had <ix:nonFraction unitRef="usd" contextRef="if0c6336a8b284bd7b3c58ea15b32829c_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:OperatingLossCarryforwards" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM5MTc_19c62736-4b19-4720-84e1-3faea4c5f0a7">no</ix:nonFraction> federal net operating loss carryforwards. At December&#160;31, 2020, we had state net operating loss carryforwards of $<ix:nonFraction unitRef="usd" contextRef="ifbb35241961348a7906632a948d86917_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODIzNjk_95b496c2-2a82-4b41-92d7-45364c05885c">46.5</ix:nonFraction>&#160;million, which will begin to expire in 2028. At December&#160;31, 2020, we also had federal and state research and development credit carryforwards of $<ix:nonFraction unitRef="usd" contextRef="i01390a6a12cd445db158cda4169a39a6_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TaxCreditCarryforwardAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODI1NzI_456b6eb6-f348-4a7f-b24f-89810f38b624">4.1</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="ifbb35241961348a7906632a948d86917_I20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TaxCreditCarryforwardAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODI1ODY_9a19fe68-4a59-46ff-8898-75beda34add7">11.5</ix:nonFraction>&#160;million, respectively. The federal credit carryforwards will begin to expire in 2040, while the state credit carryforwards apply indefinitely. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Internal Revenue Code of 1986, as amended (&#8220;IRC&#8221;), imposes substantial restrictions on the utilization of tax attributes in the event of an &#8220;ownership change&#8221; of a corporation. Accordingly, a company&#8217;s ability to use pre-change tax attributes may be limited as prescribed under IRC Section 382. Events which may cause limitation in the amount of the tax attributes that we utilize in any one year include, but are not limited to, a cumulative ownership change of more than 50% over a rolling three-year period. We have undertaken an IRC Section 382 analysis and have determined that there are no limitations on the tax attributes at December&#160;31, 2020. </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><ix:continuation id="i66a13ea017d0428f927d24a5ad4b4db9" continuedAt="i8f33542244ca44dba6f1898a3171ea31"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2019 and 2018, we recorded an income tax benefit of $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzEwOTk1MTE2NDUxNTU_f735a9fe-96c3-44b2-bc3e-2a2f3831f259">31.5</ix:nonFraction> million and income tax expense of $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzEwOTk1MTE2NDUxNjI_bb0922bd-e960-4039-b37c-4b735e9e8ac8">0.4</ix:nonFraction> million. During the second quarter of 2019, we evaluated all available positive and negative evidence, including our sustained profitability in 2018 and 2019, the impact of recent acquisitions and future projections of profitability. As a result, we determined that all of our deferred tax assets were more likely than not to be realized and reversed the valuation allowance against those deferred tax assets accordingly.</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NTE_9add5062-8687-4d7e-9191-d2c9b75c9cc1" escape="true"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The change in the valuation allowance for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.243%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItMS0xLTEtMA_8f401986-51ea-42fd-b400-1eed6bff923e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItMy0xLTEtMA_6b72b113-1a52-4d23-9c9c-448d86f7a962">23,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItNS0xLTEtMA_6a050a07-8858-46bf-88cc-50da7558530a">23,827</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Decrease in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtMS0xLTEtMA_7a12fce8-4a06-43b2-9dc4-cb97488298b8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtMy0xLTEtMA_5652a666-4874-4d32-a601-e2ef1cdc3b5f">23,002</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" sign="-" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtNS0xLTEtMA_9329bc6d-8026-4050-93f8-ff9bb15b9e3f">825</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtMS0xLTEtMA_020641c2-bb4a-4dc1-8252-1bd71d65df22">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtMy0xLTEtMA_2c55539e-d550-4b4f-adfa-6626ee9517e9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtNS0xLTEtMA_a616a747-9dd7-4004-85ec-65f1fd127f2b">23,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:120%">&#160;</span></div><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NTI_f8d57355-bd3a-4d48-bddd-f1df12cc20d3" escape="true"><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the total amounts of reserves for unrecognized tax benefits from uncertain tax positions (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.243%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItMS0xLTEtMA_07963418-18c5-46a1-8158-45b903fa09d6">4,421</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItMy0xLTEtMA_652b6e76-abbb-45cc-909e-450d7fd88fcf">2,977</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItNS0xLTEtMA_b92a10b4-bdb5-4647-b8a8-946a55437bb7">2,105</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases-tax positions in current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtMS0xLTEtMA_748ba40c-12b4-4b9e-86a0-40a3c01d9eb3">1,720</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtMy0xLTEtMA_bfcd0b12-7710-4296-8a0a-eab884009860">1,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtNS0xLTEtMA_f1f52bce-07e0-4521-a8ff-cfc27a3f8dcd">872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtMS0xLTEtMA_4839404b-3f6e-41ac-b53d-8b419579ec87">6,141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtMy0xLTEtMA_53de516a-b3b8-4588-ad6d-a43449e1ffb3">4,421</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtNS0xLTEtMA_f7d019d4-ab69-4f24-8d5b-2c57c1c85094">2,977</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unrecognized tax benefits are recorded as a reduction to the deferred tax assets and liabilities.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020 and 2019, we had <ix:nonFraction unitRef="usd" contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI5MTA_44217ec6-d389-4daf-a0b5-e3dfcfabfb79"><ix:nonFraction unitRef="usd" contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI5MTA_bfa6723c-7818-4c98-a108-dadeda554c78">no</ix:nonFraction></ix:nonFraction> accrued interest and penalties related to uncertain income tax positions. We do not anticipate that the amount of unrecognized tax benefits will significantly increase or decrease within the next twelve months. </span></div></ix:continuation><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i8f33542244ca44dba6f1898a3171ea31">We are subject to taxation in the United States and various states. Due to the net operating loss carryforwards, our federal and state returns are open to examination by the Internal Revenue Service and state jurisdictions for all years since inception. We are not currently under audit by any taxing authorities.</ix:continuation> </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_157"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">15. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90ZXh0cmVnaW9uOjQwODNhYjgxOGVkNjRjZGQ4N2QwOTcxZjcxOGU4MWE5XzI3Nw_4817b631-c5c1-4785-a06f-f59b31a85e12" continuedAt="ie75315de4830484992e35047dcea5089" escape="true">Revenue and Other Information</ix:nonNumeric></span></div><ix:continuation id="ie75315de4830484992e35047dcea5089"><ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:ScheduleOfProductInformationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90ZXh0cmVnaW9uOjQwODNhYjgxOGVkNjRjZGQ4N2QwOTcxZjcxOGU4MWE5XzI3NQ_10e876c0-2d36-4650-9426-e3223ee20caa" escape="true"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenue categories for the years ended December&#160;31, 2020, 2019 and 2018 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:63.269%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.043%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.043%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.046%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49f21b866a974cb5af0d88082667c437_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItMi0xLTEtMA_e10d6762-99db-48ca-9c6e-9c3ac923d294">100,938</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i155f8f7267774e7b8044097d9d108b30_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItNC0xLTEtMA_8081a24d-8a79-402f-b1fe-dd9fc68e2353">88,581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id161bac78060432b9f1bbad8354f0fb4_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItNi0xLTEtMA_fd3fc6ca-b213-476f-9e04-27582da6b1ad">70,549</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value+ services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f25746ecdf4470094faade647b145f8_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtMi0xLTEtMA_fea8e9b7-75f4-4a64-8190-c8ef4c3a2adc">195,146</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia3851c5bdd1e4f21ac815c345ef884a4_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtNC0xLTEtMA_578fe5be-5611-4cc6-992c-6f023df43239">153,994</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ab43607928b4eb6bcf22addd709f5ed_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtNi0xLTEtMA_141b5725-fe09-4b76-a592-e3d6cf62d907">113,072</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f3b18600ba9494fa92c6810bc520195_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtMi0xLTEtMA_3e31eccf-0f14-4b3c-9287-47c47228280c">13,972</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i85640fb3a94a495c8f1c47eee8c9965e_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtNC0xLTEtMA_0b7d558f-dda3-41ee-9efc-32d10da5b638">13,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8254a32400ed4a55a4959493198ce754_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtNi0xLTEtMA_939067b8-fe23-43c1-997d-54b8265543f5">6,450</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtMi0xLTEtMA_321f5d30-8579-4f78-b0dc-4b77d023df57">310,056</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtNC0xLTEtMA_d7cf15ae-7521-482b-8d54-ac1891ca1416">256,012</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtNi0xLTEtMA_ac0e5b1a-3885-47c6-a1dd-1ea7a9a74382">190,071</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our revenue is generated primarily from United States customers. All of our property and equipment is located in the United States.</span></div></ix:continuation><div id="i5d006e3ae4654626b71b4df4a7b7062a_160"></div><div style="margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">16. <ix:nonNumeric contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzM5NA_019e5981-05e5-485b-84ac-a984710e67ba" continuedAt="ic531a06e577944a3906c703f52635695" escape="true">Retirement Plans </ix:nonNumeric></span></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ic531a06e577944a3906c703f52635695">We have a 401(k) retirement and savings plan made available to all employees. The 401(k) plan allows each participant to contribute up to an amount not to exceed an annual statutory maximum. We may, at our discretion, make matching contributions to the 401(k) plan. Cash contributions to the plan were $<ix:nonFraction unitRef="usd" contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzI3NDg3NzkwNjk4NzA_d72b5ead-ed92-401f-ba29-cad0f51ac0c1">3.2</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzMzMA_486e33a7-de03-4136-9187-960754f9982f">2.5</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzMzNA_78765e1b-3bb0-4179-899a-fcab9498aeb9">1.6</ix:nonFraction> million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.</ix:continuation> </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_163"></div><div style="margin-bottom:12pt;margin-top:10pt;padding-left:72pt;text-indent:-72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 9. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_166"></div><div style="margin-bottom:12pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 9A. &#160;&#160;&#160;&#160;CONTROLS AND PROCEDURES </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management, with the supervision and participation of our principal executive officer and principal financial officer, evaluated the effectiveness of our disclosure controls and procedures at December&#160;31, 2020, the last day of the period covered by this Annual Report. Disclosure controls and procedures include, without limitation, controls and other procedures designed to provide reasonable assurance that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified by the SEC&#8217;s rules and forms and that such information is accumulated and communicated to its management, including its principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. Based on our management's evaluation, our principal executive officer and principal financial officer have concluded that, at December&#160;31, 2020, our disclosure controls and procedures were effective at the reasonable assurance level.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Management's Report on Internal Control over Financial Reporting</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management is responsible for establishing and maintaining adequate internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act). Internal control over financial reporting is a process designed under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of the effectiveness of the internal control over financial reporting to future periods are subject to the risk that the controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2020, our management assessed the effectiveness of our internal control over financial reporting using the criteria set forth in the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Control &#8211; Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (2013)&#160;as issued by the Committee of Sponsoring Organizations (COSO) of the Treadway Commission. Based on our evaluation under the COSO criteria, our management concluded that our internal control over financial reporting was effective at the reasonable assurance level as of December&#160;31, 2020. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effectiveness of our internal control over financial reporting has been audited by PricewaterhouseCoopers LLP, an independent registered public accounting firm, as stated in their audit report which expresses an unqualified opinion on the effectiveness of our internal control over financial reporting at December&#160;31, 2020.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes in our internal control over financial reporting identified in connection with the evaluation required by Rules 13(a)-15(d) and 15d-15(d) under the Exchange Act that occurred during the quarter ended December&#160;31, 2020 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Limitations on Effectiveness of Disclosure Controls and Procedures and Internal Control over Financial Reporting</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In designing and evaluating our disclosure controls and procedures and internal control over financial reporting, our management recognizes that any system of controls and procedures, no matter how well designed and operated, can provide only reasonable and not absolute assurance of achieving the desired control objectives. In reaching a reasonable level of assurance, management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures.&#160;There are inherent limitations to the effectiveness of any system of controls and procedures, including the possibility of human error and the circumvention or overriding of the controls and procedures.&#160;In addition, the design of any system of controls is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_172"></div><div style="margin-top:10pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART III</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80</span></div></div></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_175"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 10. &#160;&#160;&#160;&#160;DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item will be included in our definitive Proxy Statement or an amendment to this Annual Report, which will be filed with the SEC not later than 120 days after the end of our fiscal year ended December&#160;31, 2020, and is incorporated herein by reference.</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_178"></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 11. &#160;&#160;&#160;&#160;EXECUTIVE COMPENSATION</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item will be included in our definitive Proxy Statement or an amendment to this Annual Report, which will be filed with the SEC not later than 120 days after the end of our fiscal year ended December&#160;31, 2020, and is incorporated herein by reference.</span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_181"></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 12.  &#160;&#160;&#160;&#160;SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item will be included in our definitive Proxy Statement or an amendment to this Annual Report, which will be filed with the SEC not later than 120 days after the end of our fiscal year ended December&#160;31, 2020, and is incorporated herein by reference.</span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_184"></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 13. &#160;&#160;&#160;&#160;CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item will be included in our definitive Proxy Statement or an amendment to this Annual Report, which will be filed with the SEC not later than 120 days after the end of our fiscal year ended December&#160;31, 2020, and is incorporated herein by reference.</span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_187"></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 14. &#160;&#160;&#160;&#160;PRINCIPAL ACCOUNTING FEES AND SERVICES</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item will be included in our definitive Proxy Statement or an amendment to this Annual Report, which will be filed with the SEC not later than 120 days after the end of our fiscal year ended December&#160;31, 2020, and is incorporated herein by reference.</span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_190"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART IV</span></div><div style="text-align:center"><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_193"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 15. &#160;&#160;&#160;&#160;EXHIBITS, FINANCIAL STATEMENTS SCHEDULES</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following documents are filed as part of this Annual Report:</span></div><div><span><br/></span></div><div style="padding-left:94.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Consolidated Financial Statements</span></div><div style="margin-bottom:10pt;margin-top:6pt;padding-left:94.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our consolidated financial statements are listed in the &#8220;Index to Consolidated Financial Statements&#8221; under Part II, Item 8, of this Annual Report.</span></div><div style="padding-left:58.5pt;text-align:justify"><span><br/></span></div><div style="padding-left:94.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Financial Statement Schedules</span></div><div style="margin-bottom:10pt;margin-top:6pt;padding-left:94.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All financial statement schedules have been omitted because they are not required or are not applicable, or the required information is shown in our Consolidated Financial Statements or the notes thereto.</span></div><div style="padding-left:58.5pt"><span><br/></span></div><div style="padding-left:94.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Exhibits</span></div><div style="margin-bottom:10pt;margin-top:6pt;padding-left:94.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The documents listed in the Exhibit Index of this Annual Report are filed or furnished with, or incorporated by reference into, this Annual Report, in each case as indicated therein. </span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_196"></div><div><span><br/></span></div><div><span><br/></span></div><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT INDEX</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:8.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.491%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.206%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Incorporated by Reference</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Number</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Description</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">File No.</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filing Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filed Herewith</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319518000051/exhibit21assetpurchaseagre.htm">Asset Purchase Agreement, dated August 31, 2018, by and between AppFolio Utility Management, Inc. and WegoWise, Inc.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9/4/2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319519000005/a21mergeragreement.htm">Agreement and Plan of Merger, dated January 7, 2019, by and among the registrant., Riviera Mar, Inc., Dynasty Marketplace, Inc. and Fortis Advisors LLC.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1/8/2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319515000003/exhibit3163015.htm">Amended and Restated Certificate of Incorporation of the registrant as currently in effect.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8/6/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319515000003/exhibit3263015.htm">Amended and Restated Bylaws of the registrant as currently in effect.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8/6/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex41.htm">Specimen Certificate for Class A Common Stock.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex42.htm">Amended and Restated Investor Rights Agreement, by and among the registrant and the investors named therein, dated November 26, 2013.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1433195/000143319520000019/a123119exhibit43.htm">Description of Capital Stock of the registrant.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3/2/2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex101.htm">Multi-Tenant Industrial Lease, by and between the registrant and Nassau Land Company, L.P., dated April 1, 2011 ("2011 Lease"), as amended by First Amendment to 2011 Lease, dated November 11, 2011, Second Amendment to 2011 Lease, dated February 23, 2012, and Third Amendment to 2011 Lease, dated November 5, 2013.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319517000010/exhibit102fourthamendmentt.htm">Fourth Amendment to 2011 Lease, by and between the registrant and Nassau Land Company, L.P., dated February 22, 2017.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/27/2017</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex102.htm">Multi-Tenant Industrial Lease, by and between the registrant and Nassau Land Company, L.P., dated February 17, 2015 ("2015 Lease").</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.4</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319515000009/exhibit10293015.htm">First Amendment to 2015 Lease, by and between the registrant and Nassau Land Company, L.P., dated October 5, 2015.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11/9/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.5</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319516000016/exhibit1042ndleaseamendmen.htm">Second Amendment to 2015 Lease, by and between the registrant and Nassau Land Company, L.P., dated February 22, 2016.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/29/2016</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319518000048/exhibit10170castilianlease.htm">Third Amendment to Lease, by and between the registrant and Nassau Land Company, L.P., dated July 1, 2018.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7/30/2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319518000048/exhibit102thirdamendmentto.htm">Multi-Tenant Industrial Lease, by and between the registrant and Nassau Land Company, L.P., dated July 1, 2018.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7/30/2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319519000016/a20180929appfolioweworkm.htm">WeWork Membership Agreement, by and between the registrant and WeWork, dated September 28, 2018.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/28/2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9#</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex103.htm">2007 Stock Incentive Plan, as amended, and related form agreements.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.10#</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex104.htm">2015 Stock Incentive Plan and related form agreements.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.4</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.11#</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515213095/d907976dex105.htm">2015 Employee Stock Purchase Plan.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.5</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6/4/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.12#</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319518000011/exhibit109-longxtermcashin.htm">Long-Term Cash Incentive Plan.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/26/2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:8.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.491%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.206%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.563%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Incorporated by Reference</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Number</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Description</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">File No.</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filing Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filed Herewith</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.13#</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319518000011/exhibit1010-longxtermcashi.htm">Form of Long-Term Cash Incentive Award Offer.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.10</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/26/2018</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.14</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit1014.htm">Form of Indemnification Agreement by and between the registrant and each of its executive officers and directors.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.15</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000119312515191809/d907976dex107.htm">Credit Agreement, by and among the registrant, Wells Fargo Bank, N.A., as administrative agent, and the lenders that are parties thereto, dated March 16, 2015.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-204262</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5/18/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.16</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319515000009/exhibit10193015.htm">Amendment Number One to Credit Agreement, by and among the registrant, Wells Fargo Bank, N.A., as administrative agent, and the lenders that are parties thereto, dated October 9, 2015.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11/9/2015</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.17</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319519000016/a123118exhibit1017.htm">Amendment Number Two to Credit Agreement, by and among the registrant, Wells Fargo Bank, N.A., as administrative agent, and the lenders that are parties thereto, dated December 24, 2018.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.17</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2/28/2019</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.18</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1433195/000143319517000044/exhibit101.htm">Resignation Agreement and General Release of Claims by and between the registrant and Brian Donahoo, dated August 3, 2017.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-37468</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8/7/2017</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit211.htm">Subsidiaries of the registrant.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit231.htm">Consent of independent registered public accounting firm.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i5d006e3ae4654626b71b4df4a7b7062a_196">Power of Attorney (included on the signature page of this report).</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit311.htm">Certification of Chief Executive Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) promulgated under the Securities Exchange Act of 1934, as amended.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit312.htm">Certification of Chief Financial Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) promulgated under the Securities Exchange Act of 1934, as amended.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.1*</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a123120exhibit321.htm">Certifications of Chief Executive Officer and Chief Financial Officer, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.SCH</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Schema Document.</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.CAL</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Calculation Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.DEF</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Definition Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.LAB</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Label Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.PRE</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Presentation Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.526%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">#</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indicates a management contract or compensatory plan or arrangement</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The certifications attached as Exhibit 32.1 accompany this Annual Report pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, and shall not be deemed &#8220;filed&#8221; by the registrant for purposes of Section 18 of the Exchange Act and are not to be incorporated by reference into any of the registrant&#8217;s filings under the Securities Act or the Exchange Act, irrespective of any general incorporation language contained in any such filing.</span></td></tr></table></div><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div><div id="i5d006e3ae4654626b71b4df4a7b7062a_199"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-bottom:5pt;margin-top:5pt"><span><br/></span></div><div style="margin-bottom:5pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, as amended, the registrant has duly caused this Annual Report to be signed on its behalf by the undersigned thereunto duly authorized. </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:5.195%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.768%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.024%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:35.356%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.157%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">AppFolio, Inc.</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:20pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Ida Kane</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ida Kane</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial and Accounting Officer)</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="margin-top:3pt"><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">POWER OF ATTORNEY</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">KNOW ALL PERSONS BY THESE PRESENTS, that each individual whose signature appears below hereby constitutes and appoints Jason Randall and Ida Kane, and each or either of them, acting individually, as his or her true and lawful attorney-in-fact and agent, with full power of substitution and resubstitution for him or her and in his or her name, place and stead, in any and all capacities, to sign any and all amendments to this Annual Report, and to file the same, with all exhibits thereto and other documents in connection therewith, with the SEC, granting unto said attorney-in-fact and agent, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done in connection therewith, as fully for all intents and purposes as he or she might or could do in person, hereby ratifying and confirming all that said attorney-in-fact and agent, or any of them, or their or his or her substitutes, may lawfully do or cause to be done or by virtue hereof.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Exchange Act, as amended, this Annual Report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:30.085%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.556%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.434%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.815%"></td><td style="width:0.1%"></td></tr><tr style="height:39pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SIGNATURE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">TITLE</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">DATE</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Jason Randall</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President, Chief Executive Officer and Director<br/>(Principal Executive Officer)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Ida Kane</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer<br/>(Principal Financial and Accounting Officer)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ida Kane</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Andreas von Blottnitz</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman of the Board</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Andreas von Blottnitz</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Timothy Bliss</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Timothy Bliss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Agnes Bundy Scanlan</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agnes Bundy Scanlan</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Janet Kerr</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Janet Kerr</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ William Rauth</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William Rauth</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Klaus Schauser</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Klaus Schauser</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Winifred Webb</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Winifred Webb</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-bottom:9.9pt;margin-top:13.2pt;text-align:justify;text-indent:27pt"><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.14
<SEQUENCE>2
<FILENAME>a123120exhibit1014.htm
<DESCRIPTION>EX-10.14
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i344efa5f89134186b5558918fc3b93dd_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 10.14</font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">LIST OF INDEMNITEES</font></div><div style="margin-bottom:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the individuals identified below is a party to an indemnification agreement with AppFolio, Inc. in the form attached herewith as Exhibit 10.14. </font></div><div style="margin-bottom:17pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:48.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:48.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Name</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Date Signed</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jon Walker</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 8, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Timothy Bliss</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 8, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ida Kane</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 8, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Andreas von Blottnitz</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 8, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Klaus Schauser</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 8, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Janet Kerr</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 12, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William Rauth</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 16, 2015</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 3, 2017</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Winifred Webb</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 1, 2019</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agnes Bundy Scanlan</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 1, 2020</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William Shane Trigg</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 17, 2020</font></td></tr></table></div><div id="i344efa5f89134186b5558918fc3b93dd_4"></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%;text-decoration:underline">INDEMNIFICATION AGREEMENT</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">This Indemnification Agreement (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;), dated ________, 20 , is by and between AppFolio, Inc., a Delaware corporation (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;), and __________ (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Indemnitee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;).</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">RECITALS</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;A. Indemnitee is a director or an officer of the Company.</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;B. The board of directors of the Company (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;) has determined that enhancing the ability of the Company to retain and attract as directors and officers the most capable persons is in the best interests of the Company and that the Company therefore should seek to assure such persons that indemnification is available.</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;C. In recognition of the need to provide Indemnitee with substantial protection against personal liability, in order to procure Indemnitee&#8217;s continued service as a director or officer of the Company and to enhance Indemnitee&#8217;s ability to serve the Company in an effective manner, and in order to provide such protection pursuant to express contract rights (intended to be enforceable irrespective of, among other things, any amendment to the Company&#8217;s certificate of incorporation or bylaws (collectively, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Constituent Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;), any change in the composition of the Board or any change in control or business combination transaction relating to the Company), the Company wishes to provide in this Agreement for the indemnification of, and the advancement of Expenses (as defined in Section 2 below) to, Indemnitee as set forth in this Agreement and to the extent insurance is maintained for the continued coverage of Indemnitee under the Company&#8217;s directors&#8217; and officers&#8217; liability insurance policies.</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;NOW, THEREFORE, in consideration of the foregoing and the Indemnitee&#8217;s agreement to continue to provide services to the Company, the parties hereby agree as follows&#58;</font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">1. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Services to the Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. Indemnitee agrees to continue to serve as a director or officer of the Company for so long as Indemnitee is duly elected or appointed, until Indemnitee tenders Indemnitee&#8217;s resignation or until Indemnitee is terminated by the Company, as applicable.  This Agreement shall not be deemed an employment agreement between the Company (or any of its subsidiaries or another Enterprise) and Indemnitee.  Indemnitee specifically acknowledges that Indemnitee&#8217;s service to the Company or any of its subsidiaries or another Enterprise (as defined in Section 2 below) is at will and the Indemnitee may be discharged at any time for any reason, with or without cause, except as may be otherwise provided in any written employment agreement between Indemnitee and the Company (or any of its subsidiaries or another Enterprise), other applicable formal severance policies duly adopted by the Board or, with respect to service as a director or officer of the Company, by the Company&#8217;s Constituent Documents or Delaware law.  This Agreement shall continue in force after Indemnitee has ceased to serve as a director or officer of the Company or, at the request of the Company, of any of its subsidiaries or Enterprise, as defined in Section 2 below.</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">2. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Definitions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. For purposes of this Agreement, the following terms shall have the following meanings&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in the prefatory language above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Beneficial Owner</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; has the meaning given to the term &#8220;beneficial owner&#8221; in Rule 13d-3 under the Exchange Act.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in the Recitals above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(d) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Business Combination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means a reorganization, a merger or a consolidation. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(e) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Change in Control</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means the occurrence after the date of this Agreement of any of the following events&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Acquisition of Stock by Third Party</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. Any Person (as defined below) who is not a current stockholder of the Company becomes hereafter the Beneficial Owner, directly or indirectly, of securities of the </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%"> representing thirty percent (30%) or more of the Company&#8217;s Voting Securities, unless the change in the relative Beneficial Ownership of the Company&#8217;s securities by any Person results solely from a reduction in the aggregate number of outstanding Voting Securities&#59;</font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-2-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;text-decoration:underline">Corporate Transactions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">. The consummation of a Business Combination, unless immediately following such Business Combination, (1) the Beneficial Owners of the Voting Securities of the Company immediately prior to such transaction beneficially own, directly or indirectly, more than fifty percent (50%) of the combined voting power of the outstanding Voting Securities of the entity resulting from such transaction, (2) no Person (excluding any corporation resulting from such Business Combination) is the Beneficial Owner, directly or indirectly, of twenty percent (20%) or more of the combined voting power of the then outstanding securities entitled to vote generally in the election of directors of such corporation except to the extent that such ownership existed prior to the Business Combination and (3) at least a majority of the Board of Directors of the corporation resulting from such Business Combination were Continuing Directors (as defined below), at the time of the execution of the initial agreement or of the action of the Board, providing for such Business Combination&#59;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(iii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Change in Board of Directors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Continuing Directors cease for any reason to constitute at least a majority of the members of the Board&#59; or</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(iv) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Liquidation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-style:italic;font-weight:400;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%"> The stockholders of the Company approve a plan of complete liquidation or dissolution of the Company or an agreement or series of agreements for the sale or disposition by the Company of all or substantially all of the Company&#8217;s assets, other than factoring the Company&#8217;s current receivables or escrows due (or, if such approval is not required, the decision by the Board to proceed with such a liquidation, sale, or disposition in one transaction or a series of related transactions).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(f) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Claim</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">any threatened, pending or completed action, suit, demand, proceeding or alternative dispute resolution mechanism, whether civil, criminal, administrative, arbitrative, investigative or other, and whether made pursuant to federal, state or other law&#59; or</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">any inquiry, hearing or investigation that the Indemnitee determines might lead to the institution of any such action, suit, proceeding or alternative dispute resolution mechanism.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(g) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in the prefatory language above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(h) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Constituent Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in the Recitals above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Continuing Directors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means, during a period of two consecutive years, not including any period prior to the execution of this Agreement, the individuals collectively who at the beginning of such period constituted the Board (including for this purpose any new directors whose election by the Board or nomination for election by the Company&#8217;s stockholders was approved by a vote of at least two-thirds (2&#47;3) of the directors then still in office who either were directors at the beginning of the period or whose election or nomination for election was previously so approved).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(j) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Delaware Court</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means the Court of Chancery of the State of Delaware.</font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-3-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(k) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Disinterested Director</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means a director of the Company who is not and was not a party to the Claim in respect of which indemnification is sought by Indemnitee.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(l) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Enterprise</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means, any corporation, limited liability company, partnership, joint venture, trust or other entity.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(m) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means the Securities Exchange Act of 1934, as amended.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(n) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Expense Advance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any payment of Expense advanced to Indemnitee by the Company pursuant to Section 4 or Section 5 hereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(o) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Expenses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any and all expenses, including attorneys&#8217; and experts&#8217; fees, court costs, transcript costs, travel expenses, duplicating, printing and binding costs, telephone charges, and all other costs and expenses incurred in connection with investigating, defending, being a witness in or participating in (including on appeal), or preparing to defend, be a witness or participate in, any Claim. Expenses also shall include (i) Expenses incurred in connection with any appeal resulting from any Claim, including without limitation the premium, security for, and other costs relating to any cost bond, supersedes bond, or other appeal bond or its equivalent, and (ii) for purposes of Section 5 only, Expenses incurred by Indemnitee in connection with the interpretation, enforcement or defense of Indemnitee&#8217;s rights under this Agreement, by litigation or otherwise. Expenses, however, shall not include amounts paid in settlement by Indemnitee or the amount of judgments or fines against Indemnitee.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(p) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Indemnifiable Event</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any event or occurrence, whether occurring before, on or after the date of this Agreement, related to the fact that Indemnitee is or was a director, officer, employee or agent of the Company or any subsidiary of the Company, or is or was serving at the request of the Company as a director, officer, employee, member, manager, trustee or agent of another Enterprise or by reason of an action or inaction by Indemnitee in any such capacity (whether or not serving in such capacity at the time any Loss (as defined below) is incurred for which indemnification can be provided under this Agreement).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(q) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Indemnitee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in the prefatory language above.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(r) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Independent Counsel</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means a law firm, or a member of a law firm, that is experienced in matters of corporate law and neither presently performs, nor in the past five (5) years has performed, services for either&#58; (i) the Company or Indemnitee (other than in connection with matters concerning other indemnitees under similar agreements) or (ii) any other party to the Claim giving rise to a claim for indemnification hereunder. Notwithstanding the foregoing, the term &#8220;Independent Counsel&#8221; shall not include any person who, under the applicable standards of professional conduct then prevailing, would have a conflict of interest in representing either the Company or Indemnitee in an action to determine Indemnitee&#8217;s rights under this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(s) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Losses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any and all Expenses, damages, losses, liabilities, judgments, fines, penalties (whether civil, criminal or other), ERISA excise taxes, amounts paid or payable in settlement, including any interest, assessments, any federal, state, local or foreign taxes imposed as a result of the actual or deemed receipt of any payments under this Agreement and all other charges paid or payable in connection with investigating, defending, being a witness in or participating in (including on appeal), or preparing to defend, be a witness or participate in, any Claim. </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-4-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(t) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Notification Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in Section 10(c) below.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(u) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Other Indemnity Provisions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in Section 14 below.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(v) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Person</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any individual, corporation, firm, partnership, joint venture, limited liability company, estate, trust, business association, organization, governmental entity or other entity and includes the meaning set forth in Sections 13(d) and 14(d) of the Exchange Act. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(w) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Standard of Conduct Determination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; shall have the meaning ascribed to it in Section 10(b) below.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(x) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Voting Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221; means any securities of the Company that vote generally in the election of directors.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">3. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Subject to the terms of this Agreement, the Company shall indemnify Indemnitee, to the fullest extent permitted by the laws of the State of Delaware in effect on the date hereof, or as such laws may from time to time hereafter be amended to increase the scope of such permitted indemnification, against any and all Losses if Indemnitee was or is or becomes a party to or participant in, or is threatened to be made a party to or participant in, any Claim by reason of or arising in part out of an Indemnifiable Event, including, without limitation, Claims brought by or in the right of the Company, Claims brought by third parties, and Claims in which the Indemnitee is solely a witness.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">4. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Advancement of Expenses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Indemnitee shall have the right to advancement by the Company, prior to the final disposition of any Claim by final adjudication to which there are no further rights of appeal, of any and all Expenses actually and reasonably paid or incurred by Indemnitee in connection with any Claim arising out of an Indemnifiable Event.  Indemnitee&#8217;s right to such advancement is not subject to the satisfaction of any standard of conduct.  Without limiting the generality or effect of the foregoing, within twenty (20) calendar days after any request by Indemnitee, the Company shall, in accordance with such request, (a) pay such Expenses on behalf of Indemnitee, (b) advance to Indemnitee funds in an amount sufficient to pay such Expenses, or (c) reimburse Indemnitee for such Expenses.  In connection with any request for Expense Advances, Indemnitee shall not be required to provide any documentation or information to the extent that the provision thereof would undermine or otherwise jeopardize attorney-client privilege.  Execution and delivery to the Company of this Agreement by Indemnitee constitutes an undertaking by the Indemnitee, and Indemnitee hereby agrees, to repay any amounts paid, advanced or reimbursed by the Company pursuant to this Section 4 in respect of Expenses relating to, arising out of or resulting from any Claim in respect of which it shall be determined, pursuant to Section 10, following the final disposition of such Claim, that Indemnitee is not entitled to indemnification hereunder.  No other form of undertaking shall be required other than the execution of this Agreement.  Indemnitee&#8217;s obligation to reimburse the Company for Expense Advances shall be unsecured and no interest shall be charged thereon.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">5. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Indemnification for Expenses in Enforcing Rights</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">To the fullest extent allowable under applicable law, the Company shall also indemnify against, and, if requested by Indemnitee, shall advance to Indemnitee subject to and in accordance with Section 4, any Expenses actually and reasonably paid or incurred by Indemnitee in connection with any action or proceeding by Indemnitee for (a) indemnification or reimbursement or advance payment of Expenses by the </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-5-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Company under any provision of this Agreement, or under any other agreement or provision of the Constituent Documents now or hereafter in effect relating to Claims relating to Indemnifiable Events, and&#47;or (b) recovery under any directors&#8217; and officers&#8217; liability insurance policies maintained by the Company.  However, in the event that Indemnitee is ultimately determined not to be entitled to such indemnification or insurance recovery, as the case may be, then all amounts advanced under this Section 5 shall be repaid.  Indemnitee shall be required to reimburse the Company in the event that a final judicial determination is made that such action brought by Indemnitee was frivolous or not made in good faith.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">6. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Partial Indemnity</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. If Indemnitee is entitled under any provision of this Agreement to indemnification by the Company for a portion of any Losses in respect of a Claim related to an Indemnifiable Event but not for the total amount thereof, the Company shall nevertheless indemnify Indemnitee for the portion thereof to which Indemnitee is entitled. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">7. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Contribution in the Event of Joint Liability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. To the fullest extent permissible under applicable law, if the indemnification and hold harmless rights provided for in this Agreement are unavailable to Indemnitee in whole or in part for any reason whatsoever, the Company, in lieu of indemnifying and holding harmless Indemnitee, shall pay, in the first instance, the entire amount incurred by Indemnitee, whether for judgments, liabilities, fines, penalties, amounts paid or to be paid in settlement and&#47;or for Expenses, in connection with any Indemnifiable Event, in such proportion as is deemed fair and reasonable in light of all of the circumstances of such Indemnifiable Event in order to reflect (i) the relative benefits received by the Company and Indemnitee as a result of the event(s) and&#47;or transaction(s) giving cause to such proceeding&#59; and&#47;or (ii) the relative fault of the Company (and its directors, officers, employees, trustees, fiduciaries and agents) and Indemnitee in connection with such event(s) and&#47;or transaction(s).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">8. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Notification and Defense of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Notification of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. Indemnitee shall notify the Company in writing as soon as practicable of any Claim which could relate to an Indemnifiable Event or for which Indemnitee could seek Expense Advances, including a brief description (based upon information then available to Indemnitee) of the nature of, and the facts underlying, such Claim.  The failure by Indemnitee to timely notify the Company hereunder shall not relieve the Company from any liability hereunder other than to the extent the Company&#8217;s ability to participate in the defense of such claim was materially and adversely prejudiced by such failure.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Defense of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company shall be entitled to participate in the defense of any Claim relating to an Indemnifiable Event at its own expense and, except as otherwise provided below, to the extent the Company so wishes, it may assume the defense thereof with counsel reasonably satisfactory to Indemnitee.  After notice from the Company to Indemnitee of its election to assume the defense of any such Claim, the Company shall not be liable to Indemnitee under this Agreement or otherwise for any Expenses subsequently directly incurred by Indemnitee in connection with Indemnitee&#8217;s defense of such Claim other than reasonable costs of investigation or as otherwise provided below.  Indemnitee shall have the right to employ its own legal counsel in such Claim, but all Expenses related to such counsel incurred after notice from the Company of its assumption of the defense shall be at Indemnitee&#8217;s own expense&#59; provided, however, that if (i) Indemnitee&#8217;s employment of its own legal counsel has been authorized by the Company, (ii) Indemnitee&#8217;s counsel has reasonably determined that there may be a conflict of interest between Indemnitee and the Company in the defense of such Claim, (iii) after a Change in Control, </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-6-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Indemnitee&#8217;s employment of its own counsel has been approved by the Independent Counsel or (iv) the Company shall not in fact have employed counsel to assume the defense of such Claim, then Indemnitee shall be entitled to retain its own separate counsel (but not more than one law firm plus, if applicable, local counsel in respect of any such Claim) and all Expenses related to such separate counsel shall be borne by the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">9. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Procedure Upon Application for Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. In order to obtain indemnification pursuant to this Agreement, Indemnitee shall submit to the Company a written request therefor, including in such request such documentation and information as is reasonably available to Indemnitee and is reasonably necessary to determine whether and to what extent Indemnitee is entitled to indemnification following the final disposition of the Claim.  Indemnification shall be made insofar as the Company determines Indemnitee is entitled to indemnification in accordance with Section 10 below.</font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-7-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:6pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">10. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Determination of Right to Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Mandatory Indemnification&#59; Indemnification as a Witness</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Mandatory Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.  To the extent that Indemnitee shall have been successful on the merits or otherwise in defense of any Claim relating to an Indemnifiable Event or any portion thereof or in defense of any issue or matter therein, including without limitation dismissal without prejudice or settlement of the Claim (subject to the terms of Section 12 below), Indemnitee shall be indemnified against all Losses relating to such Claim in accordance with Section 3 to the fullest extent allowable by law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Indemnification as a Witness</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. To the extent that Indemnitee&#8217;s involvement in a Claim relating to an Indemnifiable Event is to prepare to serve and serve as a witness, and not as a party, the Indemnitee shall be indemnified against all Losses incurred in connection therewith to the fullest extent allowable by law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Standard of Conduct</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. To the extent that the provisions of Section 10(a) are inapplicable to a Claim related to an Indemnifiable Event that shall have been finally disposed of, any determination of whether Indemnitee has satisfied any applicable standard of conduct under Delaware law that is a legally required condition to indemnification of Indemnitee hereunder against Losses relating to such Claim and any determination that Expense Advances must be repaid to the Company (a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Standard of Conduct Determination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;) shall be made as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">if no Change in Control has occurred, (A) by a majority vote of the Disinterested Directors, even if less than a quorum of the Board, (B) by a committee of Disinterested Directors designated by a majority vote of the Disinterested Directors, even though less than a quorum or (C) if there are no such Disinterested Directors, by Independent Counsel in a written opinion addressed to the Board, a copy of which shall be delivered to Indemnitee&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">if a Change in Control shall have occurred, (A) if the Indemnitee so requests in writing, by a majority vote of the Disinterested Directors, even if less than a quorum of the Board or (B) otherwise, by Independent Counsel in a written opinion addressed to the Board, a copy of which shall be delivered to Indemnitee.</font></div><div style="margin-bottom:6pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">The Company shall indemnify and hold harmless Indemnitee against and, if requested by Indemnitee, shall reimburse Indemnitee for, or advance to Indemnitee, within twenty (20) calendar days of such request, any and all Expenses incurred by Indemnitee in cooperating with the Person or Persons making such Standard of Conduct Determination.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Making the Standard of Conduct Determination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company shall use its reasonable best efforts to cause any Standard of Conduct Determination required under Section 10(b) to be made as promptly as practicable.  If the Person or Persons designated to make the Standard of Conduct Determination under Section 10(b) shall not have made a determination within thirty (30) calendar days after the later of (A) receipt by the Company of a written request from Indemnitee for indemnification pursuant to Section 9 (the date of such receipt being the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Notification Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;) and (B) the selection of an Independent Counsel, if such determination is to be made by Independent Counsel, then Indemnitee shall be deemed to have satisfied the applicable standard of conduct, absent (i) a misstatement by Indemnitee of a material fact, or an omission of a material fact necessary to </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-8-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">make Indemnitee&#8217;s statement not materially misleading, in connection with the request for indemnification, or (ii) a final judicial determination that any or all such indemnification is expressly prohibited under applicable law&#59; provided, however, that such thirty (30) calendar day period may be extended for a reasonable time, not to exceed an additional fifteen (15) calendar days, if the Person or Persons making such determination in good faith requires such additional time to obtain or evaluate information relating thereto.  Notwithstanding anything in this Agreement to the contrary, no determination as to entitlement of Indemnitee to indemnification under this Agreement shall be required to be made prior to the final disposition of any Claim.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(d) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Payment of Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.  If, in regard to any Losses&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Indemnitee shall be entitled to indemnification pursuant to Section 10(a)&#59;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">no Standard of Conduct Determination is legally required as a condition to indemnification of Indemnitee hereunder&#59; or</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(iii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Indemnitee has been determined or deemed pursuant to Section 10(b) or Section 10(c) to have satisfied the Standard of Conduct Determination,</font></div><div style="margin-bottom:6pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">then the Company shall pay to Indemnitee, within twenty (20) calendar days after the later of (A) the Notification Date or (B) the earliest date on which the applicable criterion specified in clause (i), (ii) or (iii) is satisfied, an amount equal to such Losses.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(e) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Selection of Independent Counsel for Standard of Conduct Determination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.  If a Standard of Conduct Determination is to be made by Independent Counsel pursuant to Section 10(b)(i), the Independent Counsel shall be selected by the Board of Directors, and the Company shall give written notice to Indemnitee advising Indemnitee of the identity of the Independent Counsel so selected.  If a Standard of Conduct Determination is to be made by the Independent Counsel pursuant to Section 10(b)(ii), the Independent Counsel shall be selected by Indemnitee, and Indemnitee shall give written notice to the Company advising it of the identity of the Independent Counsel so selected.  In either case, Indemnitee or the Company, as applicable, may, within ten (10) calendar days after receiving written notice of selection from the other, deliver to the other a written objection to such selection&#59; provided, however, that such objection may be asserted only on the ground that the Independent Counsel so selected does not satisfy the criteria set forth in the definition of &#8220;Independent Counsel&#8221; in Section 2, and the objection shall set forth with particularity the factual basis of such assertion.  Absent a proper and timely objection, the individual or firm so selected shall act as Independent Counsel.  If such written objection is properly and timely made and substantiated, (i) the Independent Counsel so selected may not serve as Independent Counsel unless and until such objection is withdrawn or a court has determined that such objection is without merit&#59; and (ii) the non-objecting party may, at its option, select an alternative Independent Counsel and give written notice to the other party advising such other party of the identity of the alternative Independent Counsel so selected, in which case the provisions of the two immediately preceding sentences, the introductory clause of this sentence and numbered clause (i) of this sentence shall apply to such subsequent selection and notice.  If applicable, the provisions of clause (ii) of the immediately preceding sentence shall apply to successive alternative selections.  If no Independent Counsel that is permitted under the foregoing provisions of this Section 10(e) to make the Standard of Conduct Determination shall have been selected within twenty (20) calendar days after the Company gives its initial notice pursuant to the first sentence of this Section 10(e) or Indemnitee gives its initial notice pursuant to the second sentence of this Section 10(e), as the case may be, either the Company or Indemnitee may petition the Delaware Court to resolve any objection which shall have been made by </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-9-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">the Company or Indemnitee to the other&#8217;s selection of Independent Counsel and&#47;or to appoint as Independent Counsel an individual or firm to be selected by the Court or such other person as the Court shall designate, and the individual or firm with respect to whom all objections are so resolved or the individual or firm so appointed will act as Independent Counsel.  In all events, the Company shall pay all of the reasonable fees and expenses of the Independent Counsel incurred in connection with the Independent Counsel&#8217;s determination pursuant to Section 10(b) and shall fully indemnify and hold harmless such Independent Counsel against any and all expenses, claims, liabilities and damages arising out of or relating to this Agreement or its engagement pursuant hereto.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(f) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Presumptions and Defenses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Indemnitee&#8217;s Entitlement to Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. In making any Standard of Conduct Determination, the Person or Persons making such determination shall presume that Indemnitee has satisfied the applicable standard of conduct and is entitled to indemnification, and the Company shall have the burden of proof to overcome that presumption and establish that Indemnitee is not so entitled.  Any Standard of Conduct Determination that is adverse to Indemnitee may be challenged by the Indemnitee in the Delaware Court.  No determination by the Company (including by its directors or any Independent Counsel) that Indemnitee has not satisfied any applicable standard of conduct or failure by the Company to reach such a determination may be used as a defense to any legal proceedings brought by Indemnitee to secure indemnification or reimbursement or advance payment of Expenses by the Company hereunder or create a presumption that Indemnitee has not met any applicable standard of conduct.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Reliance as a Safe Harbor</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. For purposes of this Agreement, and without creating any presumption as to a lack of good faith if the following circumstances do not exist, Indemnitee shall be deemed to have acted in good faith and in a manner he or she reasonably believed to be in or not opposed to the best interests of the Company if Indemnitee&#8217;s actions or omissions to act are taken in good faith reliance upon the records of the Company, including its financial statements, or upon information, opinions, reports or statements furnished to Indemnitee by the officers or employees of the Company or any of its subsidiaries in the course of their duties, or by committees of the Board or by any other Person (including legal counsel, accountants and financial advisors) as to matters Indemnitee reasonably believes are within such other Person&#8217;s professional or expert competence and who has been selected with reasonable care by or on behalf of the Company.  In addition, the knowledge and&#47;or actions, or failures to act, of any director, officer, agent or employee of the Company shall not be imputed to Indemnitee for purposes of determining the right to indemnity hereunder.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(iii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">No Other Presumptions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. For purposes of this Agreement, the termination of any Claim by judgment, order, settlement (whether with or without court approval) or conviction, or upon a plea of nolo contendere or its equivalent, will not create a presumption that Indemnitee did not meet any applicable standard of conduct or have any particular belief, or that indemnification hereunder is otherwise not permitted.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(iv) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Defense to Indemnification and Burden of Proof</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. It shall be a defense to any action brought by Indemnitee against the Company to enforce this Agreement (other than an action brought to enforce a claim for Losses incurred in defending against a Claim related to an Indemnifiable Event in advance of its final disposition) that it is not permissible under applicable law for the Company to indemnify Indemnitee for the amount claimed.  In connection with any such </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-10-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">action or any related Standard of Conduct Determination, the burden of proving such a defense or that the Indemnitee did not satisfy the applicable standard of conduct shall be on the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(v) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Resolution of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company acknowledges that a settlement or other disposition short of final judgment may be successful on the merits or otherwise for purposes of Section 10(a)(i) if it permits a party to avoid expense, delay, distraction, disruption and uncertainty.  In the event that any Claim relating to an Indemnifiable Event to which Indemnitee is a party is resolved in any manner other than by adverse judgment against Indemnitee (including, without limitation, settlement of such action, claim or proceeding with or without payment of money or other consideration) it shall be presumed that Indemnitee has been successful on the merits or otherwise for purposes of Section 10(a)(i).  The Company shall have the burden of proof to overcome this presumption.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">11. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Exclusions from Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. Notwithstanding anything in this Agreement to the contrary, the Company shall not be obligated to&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">indemnify or advance funds to Indemnitee for Expenses or Losses with respect to proceedings initiated by Indemnitee, including any proceedings against the Company or its directors, officers, employees or other indemnitees and not by way of defense, except&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(i) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">proceedings referenced in Section 5 above (unless a court of competent jurisdiction determines that each of the material assertions made by Indemnitee in such proceeding was not made in good faith or was frivolous)&#59; or</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:108pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(ii) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">where the Company has joined in or the Board has consented to the initiation of such proceedings.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">indemnify Indemnitee if a final decision by a court of competent jurisdiction determines that such indemnification is prohibited by applicable law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">indemnify Indemnitee for the disgorgement of profits arising from the purchase or sale by Indemnitee of securities of the Company in violation of Section 16(b) of the Exchange Act, or any similar successor statute, state law or other law.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(d) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">indemnify or advance funds to Indemnitee for Indemnitee&#8217;s reimbursement to the Company of any bonus or other incentive-based or equity-based compensation previously received by Indemnitee or payment of any profits realized by Indemnitee from the sale of securities of the Company, as required in each case under the Exchange Act (including any such reimbursements under Section 304 of the Sarbanes-Oxley Act of 2002 in connection with an accounting restatement of the Company or the payment to the Company of profits arising from the purchase or sale by Indemnitee of securities in violation of Section 306 of the Sarbanes-Oxley Act).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">12. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Settlement of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company shall not be liable to Indemnitee under this Agreement for any amounts paid in settlement of any threatened or pending Claim related to an Indemnifiable Event effected without the Company&#8217;s prior written consent, which shall not be unreasonably withheld.  The Company shall not settle any Claim related to an Indemnifiable Event in any manner that would impose any Losses on the Indemnitee without the Indemnitee&#8217;s prior written consent.  The Company shall not, without the prior written consent of Indemnitee, effect any settlement of any Claim relating to an Indemnifiable Event which the Indemnitee is or could have been a party unless such settlement solely involves the payment of money and includes a complete </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-11-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">and unconditional release of the Indemnitee from all liability on all claims that are the subject matter of such Claim.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">13. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Duration</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. All agreements and obligations of the Company contained herein shall continue during the period that Indemnitee is a director, officer, employee or agent of the Company or any subsidiary of the Company (or is serving at the request of the Company as a director, officer, employee, member, trustee or agent of another Enterprise) and shall continue thereafter (i) so long as Indemnitee may be subject to any possible Claim relating to an Indemnifiable Event (including any rights of appeal thereto) and (ii) throughout the pendency of any proceeding (including any rights of appeal thereto) commenced by Indemnitee to enforce or interpret his or her rights under this Agreement, even if, in either case, he or she may have ceased to serve in such capacity at the time of any such Claim or proceeding.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">14. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Non-Exclusivity</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The rights of Indemnitee hereunder will be in addition to any other rights Indemnitee may have under the Constituent Documents, the law of the State of Delaware, any other contract or otherwise (collectively, &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Other Indemnity Provisions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;)&#59; provided, however, that (a) to the extent that Indemnitee otherwise would have any greater right to indemnification under any Other Indemnity Provision, Indemnitee will be deemed to have such greater right hereunder and (b) to the extent that any change is made to any Other Indemnity Provision which permits any greater right to indemnification than that provided under this Agreement as of the date hereof, Indemnitee will be deemed to have such greater right hereunder.  The assertion or employment of any right or remedy hereunder, or otherwise, shall not prevent the concurrent assertion or employment of any other right or remedy.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">15. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Liability Insurance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. For the duration of Indemnitee&#8217;s service as a director or officer of the Company, and thereafter for so long as Indemnitee shall be subject to any pending Claim relating to an Indemnifiable Event, the Company shall use commercially reasonable efforts (taking into account the scope and amount of coverage available relative to the cost thereof) to continue to maintain in effect policies of directors&#8217; and officers&#8217; liability insurance providing coverage that is at least substantially comparable in scope and amount to that provided by the Company&#8217;s current policies of directors&#8217; and officers&#8217; liability insurance.  The insurance provided pursuant to this Section 15 shall be primary insurance to the Indemnitee for any Indemnifiable Event and&#47;or Expense to which such insurance applies.  In all policies of directors&#8217; and officers&#8217; liability insurance maintained by the Company, Indemnitee shall be named as an insured in such a manner as to provide Indemnitee the same rights and benefits as are provided to the most favorably insured of the Company&#8217;s directors, if Indemnitee is a director, or of the Company&#8217;s officers, if Indemnitee is an officer (and not a director) by such policy.  Upon request, the Company will provide to Indemnitee copies of all directors&#8217; and officers&#8217; liability insurance applications, binders, policies, declarations, endorsements and other related materials.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">16. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">No Duplication of Payments</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company shall not be liable under this Agreement to make any payment to Indemnitee in respect of any Losses to the extent Indemnitee has otherwise received payment under any insurance policy, the Constituent Documents, Other Indemnity Provisions or otherwise of the amounts otherwise (including from another Enterprise) indemnifiable by the Company hereunder&#59; provided that the foregoing shall not affect the rights of Indemnitee or the Fund Indemnitors (as defined below) as set forth in Section 17.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">17. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Primacy of Indemnification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The Company hereby acknowledges that Indemnitee has or may have in the future certain rights to indemnification, advancement of expenses and&#47;or insurance </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-12-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">provided by Investment Group of Santa Barbara and certain of its affiliates (collectively, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">Fund Indemnitors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#8221;).  The Company hereby agrees (i) that it is the indemnitor of first resort (i.e., its obligations to Indemnitee are primary and any obligation of the Fund Indemnitors to advance expenses or to provide indemnification for the same expenses or liabilities incurred by Indemnitee are secondary), (ii) that it shall be required to advance the full amount of expenses incurred by Indemnitee and (iii) that it shall be liable for the full amount of all Losses to the extent legally permitted and as required by the terms of this Agreement, the Constituent Documents and&#47;or Other Indemnity Provisions, without regard to any rights Indemnitee may have against the Fund Indemnitors.  The Company irrevocably waives, relinquishes and releases the Fund Indemnitors from any and all claims against the Fund Indemnitors for contribution, subrogation or any other recovery of any kind in respect thereof.  The Company further agrees that no advancement or payment by the Fund Indemnitors on behalf of Indemnitee with respect to any claim for which Indemnitee has sought indemnification from the Company shall affect the foregoing, and the Fund Indemnitors shall have a right of contribution and&#47;or be subrogated to the extent of such advancement or payment to all of the rights of recovery of Indemnitee against the Company.  The Company and Indemnitee agree that the Fund Indemnitors are express third party beneficiaries of the terms of this Section 17.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">18. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Subrogation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. In the event of payment to Indemnitee under this Agreement, the Company shall be subrogated to the extent of such payment to all of the rights of recovery of Indemnitee (other than against the Fund Indemnitors).  Indemnitee shall execute all papers required and shall do everything that may be necessary to secure such rights, including the execution of such documents necessary to enable the Company effectively to bring suit to enforce such rights. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">19. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Amendments&#59; Waivers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. No supplement, modification or amendment of this Agreement shall be binding unless executed in writing by both of the parties hereto.  No waiver of any of the provisions of this Agreement shall be binding unless in the form of a writing signed by the party against whom enforcement of the waiver is sought, and no such waiver shall operate as a waiver of any other provisions hereof (whether or not similar), nor shall such waiver constitute a continuing waiver.  Except as specifically provided herein, no failure to exercise or any delay in exercising any right or remedy hereunder shall constitute a waiver thereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">20. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Enforcement and Binding Effect</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">The Company expressly confirms and agrees that it has entered into this Agreement and assumed the obligations imposed on it hereby in order to induce Indemnitee to serve as a director or officer of the Company, and the Company acknowledges that Indemnitee is relying upon this Agreement in serving as a director or officer of the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Without limiting any of the rights of Indemnitee under any Other Indemnity Provisions as they may be amended from time to time, this Agreement constitutes the entire agreement between the parties hereto with respect to the subject matter hereof and supersedes all prior agreements and understandings, oral, written and implied, between the parties hereto with respect to the subject matter hereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">This Agreement shall be binding upon and inure to the benefit of and be enforceable by the parties hereto and their respective successors (including any direct or indirect successor by purchase, merger, consolidation or otherwise to all or substantially all of the business and&#47;or assets of the Company), assigns, spouses, heirs and personal and legal representatives.  The Company shall require and cause any successor (whether direct or indirect by purchase, merger, </font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-13-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">consolidation or otherwise) to all, substantially all or a substantial part of the business and&#47;or assets of the Company, by written agreement in form and substances satisfactory to Indemnitee, expressly to assume and agree to perform this Agreement in the same manner and to the same extent that the Company would be required to perform if no such succession had taken place.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">21. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The provisions of this Agreement shall be severable in the event that any of the provisions hereof (including any portion thereof) are held by a court of competent jurisdiction to be invalid, illegal, void or otherwise unenforceable, and the remaining provisions shall remain enforceable to the fullest extent permitted by law.  Upon such determination that any term or other provision is invalid, illegal or unenforceable, the parties hereto shall negotiate in good faith to modify this Agreement so as to effect the original intent of the parties as closely as possible in a mutually acceptable manner in order that the transactions contemplated hereby be consummated as originally contemplated to the greatest extent possible.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">22. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Notices</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. All notices, requests, demands and other communications hereunder shall be in writing and shall be deemed to have been duly given if delivered by hand, against receipt, or mailed, by postage prepaid, certified or registered mail&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">if to Indemnitee, to the address set forth on the signature page hereto.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">(b)  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">if to the Company, to&#58;</font></div><div style="padding-left:144pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">AppFolio, Inc.</font></div><div style="padding-left:144pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Attn&#58;  Matt Mazza, General Counsel</font></div><div style="padding-left:144pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">50 Castilian Drive</font></div><div style="margin-bottom:12pt;padding-left:144pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Goleta, California 93117</font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Notice of change of address shall be effective only when given in accordance with this Section.  All notices complying with this Section shall be deemed to have been received on the date of hand delivery or on the third business day after mailing.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">23. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Governing Law and Forum</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. This Agreement shall be governed by and construed and enforced in accordance with the laws of the State of Delaware applicable to contracts made and to be performed in such state without giving effect to its principles of conflicts of laws.  The Company and Indemnitee hereby irrevocably and unconditionally&#58; (a) agree that any action or proceeding arising out of or in connection with this Agreement shall be brought only in the Delaware Court and not in any other state or federal court in the United States or any other country, (b) consent to submit to the exclusive jurisdiction of the Delaware Court for purposes of any action or proceeding arising out of or in connection with this Agreement and (c) waive, and agree not to plead or make, any claim that the Delaware Court lacks venue or that any such action or proceeding brought in the Delaware Court has been brought in an improper or inconvenient forum.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">24. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Headings</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. The headings of the sections and paragraphs of this Agreement are inserted for convenience only and shall not be deemed to constitute part of this Agreement or to affect the construction or interpretation thereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">25. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">Counterparts</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">. This Agreement may be executed in one or more counterparts, each of which shall for all purposes be deemed to be an original, but all of which together shall constitute one and the same Agreement.</font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-14-</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-style:italic;font-weight:400;line-height:120%">&#91;Remainder of Page Intentionally Left Blank&#59; Signature Page Follows&#93;</font></div><div style="margin-bottom:6pt"><font><br></font></div><div style="margin-bottom:6pt"><font><br></font></div><div style="margin-bottom:6pt"><font><br></font></div><div style="margin-bottom:6pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;      </font></div><div><font><br></font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-15-</font></div><div><font><br></font></div></div></div><div id="i344efa5f89134186b5558918fc3b93dd_7"></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:6pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">IN WITNESS WHEREOF, the parties hereto have executed this Agreement as of the date first above written.</font></div><div style="margin-bottom:6pt;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">COMPANY&#58;</font></div><div style="margin-bottom:24pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">APPFOLIO, INC.</font></div><div style="margin-bottom:12pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">By&#58;  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:12pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Name&#58;  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:24pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">Its&#58;  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:12pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:700;line-height:120%">INDEMNITEE&#58;</font></div><div style="padding-left:216pt"><font><br></font></div><div style="padding-left:216pt"><font><br></font></div><div style="margin-bottom:24pt;padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:12pt;padding-left:108pt;padding-right:108pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-weight:400;line-height:120%">(Print Name)</font></div><div style="padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-style:italic;font-weight:700;line-height:120%">Address&#58;&#160;&#160;&#160;&#160;50 Castilian Drive</font></div><div style="padding-left:216pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11.5pt;font-style:italic;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;Goleta, CA 93117</font></div><div style="padding-left:216pt"><font><br></font></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#91;Signature Page to Indemnification Agreement&#93;</font></div><div><font><br></font></div><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>3
<FILENAME>a123120exhibit211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i35d1b2a86e414014b06c87b9a42f6971_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:5pt;margin-top:5pt"><font><br></font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Exhibit 21.1 </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:right"><font><br></font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">List of Subsidiaries of the Registrant </font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:91.081%"><tr><td style="width:1.0%"></td><td style="width:49.782%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.886%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.932%"></td><td style="width:0.1%"></td></tr><tr style="height:39pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Subsidiary</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Jurisdiction</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">AppFolio Utility Management, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">California</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">AppFolio Investment Management, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">California</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dynasty Marketplace, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">AppFolio Insurance Services, Inc. </font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">California</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RentLinx LLC</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Michigan</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Terra Mar Insurance Company, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hawaii</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>a123120exhibit231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="ib00fc028964c44c7aac8d46549ef6b6d_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 23.1 </font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </font></div><div style="margin-bottom:6pt"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We hereby consent to the incorporation by reference in the Registration Statements on Form S-8 (No. 333-236818, No. 333-229970, No.333-223231, No. 333-216274, No. 333-209792, and No. 333-206179) of AppFolio, Inc. of our report dated March 1, 2021 relating to the financial statements and the effectiveness of internal control over financial reporting, which appears in this Form 10-K.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#47;s&#47; PricewaterhouseCoopers LLP</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Los Angeles, California</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 1, 2021</font></div><div><font><br></font></div><div style="margin-top:12pt"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:justify"><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>a123120exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i9fc6dea10bfc45aaaf08f40e2bdaa07f_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.1</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, certify that&#58;</font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.597%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.203%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">I have reviewed this Annual Report on Form 10-K of AppFolio, Inc.&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules13a-15(f) and 15d-15(f))&#160;for the registrant and have&#58;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">c.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:14.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">d.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.869%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.869%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;</font></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.679%"><tr><td style="width:1.0%"></td><td style="width:5.170%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.112%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.729%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.489%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58; </font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>a123120exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i654ca827d8344d68bd3b11d32ee60256_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.2</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="text-align:center"><font><br></font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Ida Kane, certify that&#58;</font></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.675%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.125%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">I have reviewed this Annual Report on Form 10-K of AppFolio, Inc.&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules13a-15(f) and 15d-15(f)) for the registrant and have&#58;<br><br></font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.100%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.860%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.740%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;<br></font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">c.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.235%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:78.613%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">d.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.515%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.285%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.669%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.747%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:14.284%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.669%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.747%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></td></tr></table></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:5.310%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:42.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.723%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Ida Kane</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ida Kane</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>a123120exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2021 Workiva -->
<title>Document</title></head><body><div id="i68fb5ca0be3b477ea05d48aed6aec2a4_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div><div style="text-align:right"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATIONS OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO 18 U.S.C. SECTION 1350, </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following certifications are hereby made in connection with the Annual Report on Form 10-K of AppFolio, Inc. (the &#8220;Company&#8221;) for the period ended December&#160;31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;)&#58;</font></div><div style="text-align:justify;text-indent:36pt"><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Jason Randall, President and Chief Executive Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, (i) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, and (ii) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of&#160;the Company as of the dates and for the periods presented.</font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:6.432%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.188%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.619%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jason Randall</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Ida Kane, Chief Financial Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge, (i) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, and (ii) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of&#160;the Company as of the dates and for the periods presented.</font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:6.432%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.188%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.619%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Ida Kane</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ida Kane</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>appf-20201231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:appf="http://www.appfolio.com/20201231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.appfolio.com/20201231">
  <xs:import namespace="http://fasb.org/srt/2020-01-31" schemaLocation="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2020-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2020-01-31" schemaLocation="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20201231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20201231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20201231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="appf-20201231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.appfolio.com/role/Cover">
        <link:definition>0001001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheets">
        <link:definition>1001002 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1002003 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperations" roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofOperations">
        <link:definition>1003004 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveIncomeLoss" roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss">
        <link:definition>1004005 - Statement - Consolidated Statements of Comprehensive Income (Loss)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquityDeficit" roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit">
        <link:definition>1005006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>1006007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlowsReconciliation" roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation">
        <link:definition>1007008 - Statement - Consolidated Statements of Cash Flows - Reconciliation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofBusiness" roleURI="http://www.appfolio.com/role/NatureofBusiness">
        <link:definition>2101101 - Disclosure - Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofBusinessDetails" roleURI="http://www.appfolio.com/role/NatureofBusinessDetails">
        <link:definition>2402401 - Disclosure - Nature of Business (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>2103102 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails">
        <link:definition>2406402 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails">
        <link:definition>2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails">
        <link:definition>2408404 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details">
        <link:definition>2409405 - Disclosure - Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details">
        <link:definition>2410406 - Disclosure - Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DivesturesandBusinessCombinations" roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinations">
        <link:definition>2111103 - Disclosure - Divestures and Business Combinations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Tables" roleURI="http://www.appfolio.com/role/Tables">
        <link:definition>2312302 - Disclosure - (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DivesturesandBusinessCombinationsNarrativeDetails" roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails">
        <link:definition>2413407 - Disclosure - Divestures and Business Combinations - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationsPurchasePriceAllocationDetails" roleURI="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails">
        <link:definition>2414408 - Disclosure - Business Combinations - Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationsProFormaInformationDetails" roleURI="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails">
        <link:definition>2415409 - Disclosure - Business Combinations - Pro Forma Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurements" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements">
        <link:definition>2116104 - Disclosure - Investment Securities and Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsTables" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables">
        <link:definition>2317303 - Disclosure - Investment Securities and Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails">
        <link:definition>2418410 - Disclosure - Investment Securities and Fair Value Measurements - Investment Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails">
        <link:definition>2419411 - Disclosure - Investment Securities and Fair Value Measurements - Sales and Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails">
        <link:definition>2420412 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails">
        <link:definition>2421413 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value Measurements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentnet" roleURI="http://www.appfolio.com/role/PropertyandEquipmentnet">
        <link:definition>2122105 - Disclosure - Property and Equipment, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentnetTables" roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetTables">
        <link:definition>2323304 - Disclosure - Property and Equipment, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentnetDetails" roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetDetails">
        <link:definition>2424414 - Disclosure - Property and Equipment, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostsnet" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet">
        <link:definition>2125106 - Disclosure - Capitalized Software Development Costs, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostsnetTables" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables">
        <link:definition>2326305 - Disclosure - Capitalized Software Development Costs, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails">
        <link:definition>2427415 - Disclosure - Capitalized Software Development Costs, net - Software Development Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails">
        <link:definition>2428416 - Disclosure - Capitalized Software Development Costs, net - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails">
        <link:definition>2429417 - Disclosure - Capitalized Software Development Costs, net - Amortization Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetandGoodwill" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill">
        <link:definition>2130107 - Disclosure - Intangible Assets, net and Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetandGoodwillTables" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables">
        <link:definition>2331306 - Disclosure - Intangible Assets, net and Goodwill (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails">
        <link:definition>2432418 - Disclosure - Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails">
        <link:definition>2433419 - Disclosure - Intangible Assets, net and Goodwill - Amortization Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsnetandGoodwillGoodwillDetails" roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails">
        <link:definition>2434420 - Disclosure - Intangible Assets, net and Goodwill - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpenses" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses">
        <link:definition>2135108 - Disclosure - Accrued Employee Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpensesTables" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables">
        <link:definition>2336307 - Disclosure - Accrued Employee Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedEmployeeExpensesDetails" roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails">
        <link:definition>2437421 - Disclosure - Accrued Employee Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.appfolio.com/role/Leases">
        <link:definition>2138109 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.appfolio.com/role/LeasesTables">
        <link:definition>2339308 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesDetails" roleURI="http://www.appfolio.com/role/LeasesDetails">
        <link:definition>2440422 - Disclosure - Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofComponentsofLeaseexpenseDetails" roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails">
        <link:definition>2441423 - Disclosure - Leases - Schedule of Components of Lease expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails">
        <link:definition>2442424 - Disclosure - Leases - Schedule of Minimum Lease payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1" roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1">
        <link:definition>2442424 - Disclosure - Leases - Schedule of Minimum Lease payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongtermDebt" roleURI="http://www.appfolio.com/role/LongtermDebt">
        <link:definition>2143110 - Disclosure - Long-term Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongtermDebtTables" roleURI="http://www.appfolio.com/role/LongtermDebtTables">
        <link:definition>2344309 - Disclosure - Long-term Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongtermDebtDetails" roleURI="http://www.appfolio.com/role/LongtermDebtDetails">
        <link:definition>2445425 - Disclosure - Long-term Debt (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongtermDebtSummaryofLongtemDebtDetails" roleURI="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails">
        <link:definition>2446426 - Disclosure - Long-term Debt - Summary of Long-tem Debt (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingencies" roleURI="http://www.appfolio.com/role/CommitmentandContingencies">
        <link:definition>2147111 - Disclosure - Commitment and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingenciesAdditionalInformationDetails" roleURI="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails">
        <link:definition>2448427 - Disclosure - Commitment and Contingencies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquity" roleURI="http://www.appfolio.com/role/StockholdersEquity">
        <link:definition>2149112 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" roleURI="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails">
        <link:definition>2450428 - Disclosure - Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" roleURI="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails">
        <link:definition>2451429 - Disclosure - Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityPreferredStockDetails" roleURI="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails">
        <link:definition>2452430 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityShareRepurchaseProgramDetails" roleURI="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails">
        <link:definition>2453431 - Disclosure - Stockholders' Equity - Share Repurchase Program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensation" roleURI="http://www.appfolio.com/role/StockBasedCompensation">
        <link:definition>2154113 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationTables" roleURI="http://www.appfolio.com/role/StockBasedCompensationTables">
        <link:definition>2355310 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationStockOptionPlansDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails">
        <link:definition>2456432 - Disclosure - Stock-Based Compensation - Stock Option Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationStockOptionActivityDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails">
        <link:definition>2457433 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockUnitsDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails">
        <link:definition>2458434 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockUnitsNarrativeDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails">
        <link:definition>2459435 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationRestrictedStockAwardsDetails" roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails">
        <link:definition>2460436 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.appfolio.com/role/IncomeTaxes">
        <link:definition>2161114 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://www.appfolio.com/role/IncomeTaxesTables">
        <link:definition>2362311 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>2463437 - Disclosure - Income Taxes - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesEffectiveIncomeTaxReconciliationDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails">
        <link:definition>2464438 - Disclosure - Income Taxes - Effective Income Tax Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesComponentsofIncomeTaxesDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails">
        <link:definition>2465439 - Disclosure - Income Taxes - Components of Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails">
        <link:definition>2466440 - Disclosure - Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesChangesinValuationAllowanceDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails">
        <link:definition>2467441 - Disclosure - Income Taxes - Changes in Valuation Allowance (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesUnrecognizedTaxBenefitsDetails" roleURI="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails">
        <link:definition>2468442 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformation" roleURI="http://www.appfolio.com/role/RevenueandOtherInformation">
        <link:definition>2169115 - Disclosure - Revenue and Other Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformationTables" roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables">
        <link:definition>2370312 - Disclosure - Revenue and Other Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueandOtherInformationDetails" roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails">
        <link:definition>2471443 - Disclosure - Revenue and Other Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlans" roleURI="http://www.appfolio.com/role/RetirementPlans">
        <link:definition>2172116 - Disclosure - Retirement Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RetirementPlansDetails" roleURI="http://www.appfolio.com/role/RetirementPlansDetails">
        <link:definition>2473444 - Disclosure - Retirement Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" abstract="false" name="ScheduleOfAccruedEmployeeExpensesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" abstract="false" name="OperatingLeasePrepaidExpensesAndOtherCurrentAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_BusinessCombinationConsiderationTotalPriorToAdjustments" abstract="false" name="BusinessCombinationConsiderationTotalPriorToAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_ConversionOfStockNumberOfSharesIssuableUponConversion" abstract="false" name="ConversionOfStockNumberOfSharesIssuableUponConversion" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_TechnologyMember" abstract="true" name="TechnologyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_PerformanceStockUnitsMember" abstract="true" name="PerformanceStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_ValuePlusServicesMember" abstract="true" name="ValuePlusServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" abstract="false" name="RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" abstract="false" name="ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="appf_DeferredTaxLiabilitiesStateTaxes" abstract="false" name="DeferredTaxLiabilitiesStateTaxes" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" abstract="false" name="RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" abstract="true" name="RestrictedStockUnitsAndPerformanceStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_CoreSolutionsMember" abstract="true" name="CoreSolutionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_ContractTermSubscriptionAgreement" abstract="false" name="ContractTermSubscriptionAgreement" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearTwo" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" abstract="false" name="LesseeOperatingLeaseLiabilityNetOfCurrentPortion" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" abstract="false" name="DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DataCenterAndComputerEquipmentMember" abstract="true" name="DataCenterAndComputerEquipmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_DeferredTaxLiabilitiesCapitalizedCommissions" abstract="false" name="DeferredTaxLiabilitiesCapitalizedCommissions" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearOne" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="appf_RichardsonTexasMember" abstract="true" name="RichardsonTexasMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_TenantImprovementAllowance" abstract="false" name="TenantImprovementAllowance" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_BusinessCombinationConsiderationAccruedButNotYetPaid" abstract="false" name="BusinessCombinationConsiderationAccruedButNotYetPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" abstract="false" name="StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2019and2018Member" abstract="true" name="PerformanceStockUnitsGrantedin2019and2018Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2018Member" abstract="true" name="PerformanceStockUnitsGrantedin2018Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" abstract="false" name="PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" abstract="false" name="LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PerformanceStockUnitsGrantedin2019Member" abstract="true" name="PerformanceStockUnitsGrantedin2019Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" abstract="false" name="ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" abstract="false" name="LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_TwoThousandFifteenStockIncentivePlanMember" abstract="true" name="TwoThousandFifteenStockIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" abstract="false" name="LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_AvailableForSaleSecuritiesMaximumContractualMaturity" abstract="false" name="AvailableForSaleSecuritiesMaximumContractualMaturity" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="appf_PerformanceStockOptionMember" abstract="true" name="PerformanceStockOptionMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_BusinessCombinationConsiderationTransferredEscrowAmount" abstract="false" name="BusinessCombinationConsiderationTransferredEscrowAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" abstract="false" name="LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_IncreaseDecreaseInOperatingLeases" abstract="false" name="IncreaseDecreaseInOperatingLeases" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" abstract="false" name="InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" abstract="false" name="LongtermDebtCovenantRestrictionsRequiredLeverageRatio" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" abstract="false" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="appf_OtherServicesMember" abstract="true" name="OtherServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" abstract="true" name="A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" abstract="true" name="SoftwareAndServicesOfferedToRealEstateVerticalMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" abstract="true" name="EmployeeStockOptionsAndPerformanceStockOptionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_A2016PerformanceMetricMember" abstract="true" name="A2016PerformanceMetricMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" abstract="true" name="FurnitureAndFixturesAndLeaseholdImprovementsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" abstract="false" name="LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_DeferredTaxAssetsLeasingArrangements" abstract="false" name="DeferredTaxAssetsLeasingArrangements" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_ChangesInValuationAllowanceRollForward" abstract="true" name="ChangesInValuationAllowanceRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" abstract="false" name="LesseeOperatingLeaseSquareFeetOfLeasedArea" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:areaItemType"/>
  <xs:element id="appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" abstract="false" name="SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="appf_CommonClassBToCommonClassAMember" abstract="true" name="CommonClassBToCommonClassAMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" abstract="false" name="DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="appf_CommonStockAutomaticConversionThreshold" abstract="false" name="CommonStockAutomaticConversionThreshold" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" abstract="false" name="LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_MyCaseMember" abstract="true" name="MyCaseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" abstract="false" name="CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" abstract="false" name="PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DatabaseMember" abstract="true" name="DatabaseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" abstract="false" name="CapitalizedComputerSoftwareAmortizationExpenseYearThree" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_DynastyMarketplaceInc.Member" abstract="true" name="DynastyMarketplaceInc.Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_CommonStockNumberOfVotesPerShare" abstract="false" name="CommonStockNumberOfVotesPerShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="appf_AmortizationOfOperatingLeaseRightOfUseAssets" abstract="false" name="AmortizationOfOperatingLeaseRightOfUseAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="appf_PartnerRelationshipsMember" abstract="true" name="PartnerRelationshipsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" abstract="false" name="ScheduleOfCapitalizedComputerSoftwareTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>appf-20201231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.appfolio.com/role/Cover" xlink:type="simple" xlink:href="appf-20201231.xsd#Cover"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/Cover" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_639851d5-af26-44be-9e3a-b42b154863b6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_639851d5-af26-44be-9e3a-b42b154863b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_6949689c-a02d-47d7-a2f4-88415eb0b2b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_TaxesPayableCurrent_6949689c-a02d-47d7-a2f4-88415eb0b2b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_28f52254-1088-4e15-ac81-40619cae9013" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_LongTermDebtCurrent_28f52254-1088-4e15-ac81-40619cae9013" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_32d0416c-1057-4d3c-b65a-0f41ae45af64" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_32d0416c-1057-4d3c-b65a-0f41ae45af64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0ac193b4-f019-449c-886a-533d042a740e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0ac193b4-f019-449c-886a-533d042a740e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_daf9613a-64c4-4aad-9a75-4983cf23a1f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_daf9613a-64c4-4aad-9a75-4983cf23a1f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_5747f923-411a-45b2-87ff-9bd56d109677" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_9a5995a9-37b7-474b-9a0f-50e0d2d1c936" xlink:to="loc_us-gaap_AccountsPayableCurrent_5747f923-411a-45b2-87ff-9bd56d109677" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_f4c2d3e6-81fd-40e2-b904-0bc7d5d0f0dd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_AssetsCurrent_f4c2d3e6-81fd-40e2-b904-0bc7d5d0f0dd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_c3b01a26-9f35-42e8-9800-ba7af0124893" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_c3b01a26-9f35-42e8-9800-ba7af0124893" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_ffd22645-fa46-447e-b359-dbe26bcf6118" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_ffd22645-fa46-447e-b359-dbe26bcf6118" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_2ca9859c-6a6a-4ad3-8500-f22507153921" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_2ca9859c-6a6a-4ad3-8500-f22507153921" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_4aa732d0-f83b-4c10-a84a-92313d890b21" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_Goodwill_4aa732d0-f83b-4c10-a84a-92313d890b21" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_3470815d-8a63-46a6-83a6-7ff6c50c4690" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_3470815d-8a63-46a6-83a6-7ff6c50c4690" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_5c8342a5-57db-43ad-b59a-cf8ae6bc96b4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_5c8342a5-57db-43ad-b59a-cf8ae6bc96b4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_0d866b16-58ac-4a44-bfe4-d98680e60ecd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_0d866b16-58ac-4a44-bfe4-d98680e60ecd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_1ab52321-c44c-4830-a020-4c0709864cc2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_b4783f2b-01bf-4eae-ab7b-f935af013834" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_1ab52321-c44c-4830-a020-4c0709864cc2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_73ff667d-c996-4fa1-ab18-88f64c830e33" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_bbd8c66d-f8d7-4927-935a-b47dab9807b5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_73ff667d-c996-4fa1-ab18-88f64c830e33" xlink:to="loc_us-gaap_Liabilities_bbd8c66d-f8d7-4927-935a-b47dab9807b5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_c8eb6972-b55b-4657-8a3e-3ef0ecd1dc95" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_73ff667d-c996-4fa1-ab18-88f64c830e33" xlink:to="loc_us-gaap_CommitmentsAndContingencies_c8eb6972-b55b-4657-8a3e-3ef0ecd1dc95" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6dbe9b5f-ce82-4892-b1ae-8751ba775c94" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_73ff667d-c996-4fa1-ab18-88f64c830e33" xlink:to="loc_us-gaap_StockholdersEquity_6dbe9b5f-ce82-4892-b1ae-8751ba775c94" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_88835d30-7a48-4f19-b2c4-3e2204de7f91" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_f8ad8a94-37bb-4390-b210-fdb49c424694" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_88835d30-7a48-4f19-b2c4-3e2204de7f91" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_f8ad8a94-37bb-4390-b210-fdb49c424694" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5bf2e4c7-fd03-4910-a9f9-fffdeb2ca6d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_88835d30-7a48-4f19-b2c4-3e2204de7f91" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5bf2e4c7-fd03-4910-a9f9-fffdeb2ca6d0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_573aa6a9-8a74-4ad7-96d3-a01709d508a1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_88835d30-7a48-4f19-b2c4-3e2204de7f91" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_573aa6a9-8a74-4ad7-96d3-a01709d508a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_e7dbf90b-8fcc-4a83-b2b9-5a7b4a69ff7a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_88835d30-7a48-4f19-b2c4-3e2204de7f91" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_e7dbf90b-8fcc-4a83-b2b9-5a7b4a69ff7a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6f9153d8-7525-4a9f-8126-b7d9493fe00d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6f9153d8-7525-4a9f-8126-b7d9493fe00d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_cc79fd79-5fc8-440f-94b6-5781c014d37e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_CommonStockValue_cc79fd79-5fc8-440f-94b6-5781c014d37e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_501bb43f-9e15-43c2-8ea7-5bc07ec0ffc4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_AdditionalPaidInCapital_501bb43f-9e15-43c2-8ea7-5bc07ec0ffc4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_c857496e-8f6f-425d-9829-52eb667de874" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_TreasuryStockValue_c857496e-8f6f-425d-9829-52eb667de874" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_233cd79d-8c4e-4663-8b73-156b88dbfc12" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_233cd79d-8c4e-4663-8b73-156b88dbfc12" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_1e03de48-a550-4015-a525-e8fa52a7f0ec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_84d20d21-43fb-420d-908c-c68bc303b81d" xlink:to="loc_us-gaap_PreferredStockValue_1e03de48-a550-4015-a525-e8fa52a7f0ec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_8247969e-3aad-49c7-917d-4b7d59d562ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_22c38f95-dccf-4523-a13b-dfd2a135c21e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_8247969e-3aad-49c7-917d-4b7d59d562ee" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_22c38f95-dccf-4523-a13b-dfd2a135c21e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7e281050-0885-4ba5-9196-c6a010775702" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_8247969e-3aad-49c7-917d-4b7d59d562ee" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7e281050-0885-4ba5-9196-c6a010775702" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredLongTermDebt_e7eb730f-0d2c-45e2-9743-0282dbecf61f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredLongTermDebt"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_8247969e-3aad-49c7-917d-4b7d59d562ee" xlink:to="loc_us-gaap_SecuredLongTermDebt_e7eb730f-0d2c-45e2-9743-0282dbecf61f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_211ba680-e23b-4067-a8bc-59fc30da4926" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_8247969e-3aad-49c7-917d-4b7d59d562ee" xlink:to="loc_us-gaap_LiabilitiesCurrent_211ba680-e23b-4067-a8bc-59fc30da4926" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3b8e0de6-d135-42af-a0bd-516c49995695" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_975dc14e-f28b-4304-82fd-5c54a1e4ca48" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3b8e0de6-d135-42af-a0bd-516c49995695" xlink:to="loc_us-gaap_OperatingIncomeLoss_975dc14e-f28b-4304-82fd-5c54a1e4ca48" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_47c494ec-37d0-48bc-9022-002bdf1b7019" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3b8e0de6-d135-42af-a0bd-516c49995695" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_47c494ec-37d0-48bc-9022-002bdf1b7019" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_acd1c9d0-fdac-456b-b264-bc055b997e5c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3b8e0de6-d135-42af-a0bd-516c49995695" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_acd1c9d0-fdac-456b-b264-bc055b997e5c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_db4c8855-d072-48ad-869d-005b4c9765d6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_8bf9ae9a-de12-440d-8a33-0f06efac0b36" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_db4c8855-d072-48ad-869d-005b4c9765d6" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_8bf9ae9a-de12-440d-8a33-0f06efac0b36" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_1b6c3eb5-75bc-43cd-a896-9ca6b412404f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_db4c8855-d072-48ad-869d-005b4c9765d6" xlink:to="loc_us-gaap_CostsAndExpenses_1b6c3eb5-75bc-43cd-a896-9ca6b412404f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_b0ac32a6-d12f-47fc-9f3b-bcfd7a3a3b1b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_582065e1-4517-44b1-bc18-8c65493bb369" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b0ac32a6-d12f-47fc-9f3b-bcfd7a3a3b1b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_582065e1-4517-44b1-bc18-8c65493bb369" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_3aa7b983-1052-4732-a540-9164888dbed4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b0ac32a6-d12f-47fc-9f3b-bcfd7a3a3b1b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_3aa7b983-1052-4732-a540-9164888dbed4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_0e7cb8bf-0a22-4b6e-bf58-383988d61ef4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_0e7cb8bf-0a22-4b6e-bf58-383988d61ef4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_f43f9806-6359-4ec8-8b73-6bad0e5af3cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:to="loc_us-gaap_SellingAndMarketingExpense_f43f9806-6359-4ec8-8b73-6bad0e5af3cf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_5af9a588-8b3d-40ad-b811-c4fb91755f3e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_5af9a588-8b3d-40ad-b811-c4fb91755f3e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_dff7a496-dc54-4d76-a7c8-14419f87441e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_dff7a496-dc54-4d76-a7c8-14419f87441e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_5acee7f5-5002-4ab2-bab3-f01abe6cade4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CostsAndExpenses_fc14c866-22ed-459e-a33b-9f70221733c3" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_5acee7f5-5002-4ab2-bab3-f01abe6cade4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_1b153d4e-c6eb-4f0f-a4d8-60efa118f6a1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_93745b43-d870-4955-9eec-5b3444b5bcf4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_1b153d4e-c6eb-4f0f-a4d8-60efa118f6a1" xlink:to="loc_us-gaap_NetIncomeLoss_93745b43-d870-4955-9eec-5b3444b5bcf4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_2eda7279-ced2-4382-9712-3bed502d0a77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_1b153d4e-c6eb-4f0f-a4d8-60efa118f6a1" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_2eda7279-ced2-4382-9712-3bed502d0a77" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofStockholdersEquityDeficit"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_b1f58887-966f-4a86-a34a-e12556760476" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_b1f58887-966f-4a86-a34a-e12556760476" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_b74d6818-a2a1-4665-88c1-d83d9553a220" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_b74d6818-a2a1-4665-88c1-d83d9553a220" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_010187e6-e1e3-4a38-aa11-6d471ba8e81e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_010187e6-e1e3-4a38-aa11-6d471ba8e81e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_dbaa7c1c-e4e6-4da6-9436-7d5d79032c1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_dbaa7c1c-e4e6-4da6-9436-7d5d79032c1f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_514c3634-a142-486e-b86b-ef433feb49c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_514c3634-a142-486e-b86b-ef433feb49c0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_5419bb25-cbfd-4c49-bc85-95190c9fd488" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_5419bb25-cbfd-4c49-bc85-95190c9fd488" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_0deb6f9a-d0fc-4eaa-88f1-c93b3ea5e9d9" xlink:href="appf-20201231.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_0deb6f9a-d0fc-4eaa-88f1-c93b3ea5e9d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_92f0b5a9-dc5a-4ba6-95b2-f4167d93e535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_92f0b5a9-dc5a-4ba6-95b2-f4167d93e535" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_854fb663-c4df-4854-9580-faf974b128c7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_ShareBasedCompensation_854fb663-c4df-4854-9580-faf974b128c7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_bf2b33af-6ac1-4804-b29d-7da67110a2b0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_bf2b33af-6ac1-4804-b29d-7da67110a2b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e0c210d1-be57-46cf-a0fa-aeadba781f92" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e0c210d1-be57-46cf-a0fa-aeadba781f92" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_31a95bfa-1f8c-40ac-ba25-e131c5c48caf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_31a95bfa-1f8c-40ac-ba25-e131c5c48caf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_718943e6-3222-449f-8840-de46c838bebe" xlink:href="appf-20201231.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_718943e6-3222-449f-8840-de46c838bebe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases_50343c1a-b350-4de5-8062-b7c6248a4f87" xlink:href="appf-20201231.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_appf_IncreaseDecreaseInOperatingLeases_50343c1a-b350-4de5-8062-b7c6248a4f87" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_c2af614d-87c3-4677-ba41-2ab54b62985b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_NetIncomeLoss_c2af614d-87c3-4677-ba41-2ab54b62985b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_8125c1ba-982c-4e69-90d0-7e130a528c2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b9c66462-1dcd-469c-a238-a1d94de30c8b" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_8125c1ba-982c-4e69-90d0-7e130a528c2b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_765b40b7-cd00-4ab8-bc9f-e617cd69a890" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_765b40b7-cd00-4ab8-bc9f-e617cd69a890" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_4bbda889-aeb1-425c-8ca1-38240bed2018" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_4bbda889-aeb1-425c-8ca1-38240bed2018" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_6f53188c-d68e-4e7a-8710-d752e2fe5ce5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_6f53188c-d68e-4e7a-8710-d752e2fe5ce5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8edf2c8d-4ef1-4d32-96d2-bba6f1f6e03b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_8edf2c8d-4ef1-4d32-96d2-bba6f1f6e03b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_88972acc-3052-40a8-bead-93a63c8a4b73" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_88972acc-3052-40a8-bead-93a63c8a4b73" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_c13eba54-29a7-4c06-9df9-86c1e126ece2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_c13eba54-29a7-4c06-9df9-86c1e126ece2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_d460a5a3-226e-458b-b243-4237325463ec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_cdba40b7-2992-4f39-b733-3c86648995e3" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_d460a5a3-226e-458b-b243-4237325463ec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_9264b194-e3ff-4578-88bb-2c20ba573c46" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_9264b194-e3ff-4578-88bb-2c20ba573c46" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_73ce5d6d-e1c4-4ece-afc8-d395ff5a3c5b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_73ce5d6d-e1c4-4ece-afc8-d395ff5a3c5b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_5dc86b42-9e4c-4191-9b73-8526471759d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_5dc86b42-9e4c-4191-9b73-8526471759d0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_6f793561-79f3-4abe-a61d-c8733d73691b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_6f793561-79f3-4abe-a61d-c8733d73691b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt_fe395f36-1338-48b4-a60d-3ba1fad723fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_RepaymentsOfSecuredDebt_fe395f36-1338-48b4-a60d-3ba1fad723fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_62088d50-3024-4d92-8bcf-f477e789269a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_62088d50-3024-4d92-8bcf-f477e789269a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_94821a62-a2b9-4485-aa9c-71ab8ea18d1e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d2dfe2e5-f721-4ada-8378-27e0901138f3" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_94821a62-a2b9-4485-aa9c-71ab8ea18d1e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_3648c669-63c4-4ce2-b2b0-87803e8ece6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_ba15a92b-6ece-4085-bb10-512bdcd89716" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_3648c669-63c4-4ce2-b2b0-87803e8ece6a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_ba15a92b-6ece-4085-bb10-512bdcd89716" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_98a82f2f-955a-44da-bf3f-d453f032dc58" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_3648c669-63c4-4ce2-b2b0-87803e8ece6a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_98a82f2f-955a-44da-bf3f-d453f032dc58" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_11d5e671-8ea4-4a34-bf5f-81ea85a69970" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_3648c669-63c4-4ce2-b2b0-87803e8ece6a" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_11d5e671-8ea4-4a34-bf5f-81ea85a69970" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlowsReconciliation"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8841c3c4-fbc2-4dab-b764-895ae1281374" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1f57a82e-82ec-4dc0-ba40-4a3707f90c4c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8841c3c4-fbc2-4dab-b764-895ae1281374" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1f57a82e-82ec-4dc0-ba40-4a3707f90c4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_c9a9e9e3-dcca-4a90-96f2-24c9af26d344" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8841c3c4-fbc2-4dab-b764-895ae1281374" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_c9a9e9e3-dcca-4a90-96f2-24c9af26d344" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusiness" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusiness"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/NatureofBusiness" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusinessDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_05c03831-c022-4864-8386-b0b6b904b129" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_793719d5-8fb8-4b48-883b-e758f3128830" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_05c03831-c022-4864-8386-b0b6b904b129" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_793719d5-8fb8-4b48-883b-e758f3128830" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_249d2282-15e7-46db-b9dd-97efcd97e3c2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_05c03831-c022-4864-8386-b0b6b904b129" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_249d2282-15e7-46db-b9dd-97efcd97e3c2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_fca52ebe-5e43-4992-9c58-c5e31998bca3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_888d2e6f-3284-4626-a44a-d94bd0a79032" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_fca52ebe-5e43-4992-9c58-c5e31998bca3" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_888d2e6f-3284-4626-a44a-d94bd0a79032" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_d1f5e4aa-59e8-421b-8727-88756900bfcd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_fca52ebe-5e43-4992-9c58-c5e31998bca3" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_d1f5e4aa-59e8-421b-8727-88756900bfcd" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinations"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/Tables" xlink:type="simple" xlink:href="appf-20201231.xsd#Tables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/Tables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinationsNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsPurchasePriceAllocationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_38213d16-7d39-4a07-a55f-b24ccf2887bb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_9107d72b-3aa1-4ad8-9679-46402614c334" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_38213d16-7d39-4a07-a55f-b24ccf2887bb" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_9107d72b-3aa1-4ad8-9679-46402614c334" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_9a8e71e7-6214-4018-8ba5-e93e73d9de48" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_38213d16-7d39-4a07-a55f-b24ccf2887bb" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_9a8e71e7-6214-4018-8ba5-e93e73d9de48" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_467860b2-f174-423b-ab60-d07789efdfeb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_2388532b-1c04-4a59-94a6-a375ddd9bb63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_467860b2-f174-423b-ab60-d07789efdfeb" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_2388532b-1c04-4a59-94a6-a375ddd9bb63" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_5be56692-5002-4919-bb5b-dda638d349e8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_467860b2-f174-423b-ab60-d07789efdfeb" xlink:to="loc_us-gaap_Goodwill_5be56692-5002-4919-bb5b-dda638d349e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_e0e64215-1e3f-4e03-8558-0daf16466696" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_467860b2-f174-423b-ab60-d07789efdfeb" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_e0e64215-1e3f-4e03-8558-0daf16466696" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_13062c3f-7b15-4b63-8ac6-b325d0739f81" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_467860b2-f174-423b-ab60-d07789efdfeb" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_13062c3f-7b15-4b63-8ac6-b325d0739f81" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsProFormaInformationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurements"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ce624a54-6763-4e75-b6a3-dfa5e7bcf43c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_2d080ebc-4a37-49ab-8089-96fde78d9587" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ce624a54-6763-4e75-b6a3-dfa5e7bcf43c" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_2d080ebc-4a37-49ab-8089-96fde78d9587" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_d0d1c5ee-5fe6-4a2f-9dcb-9ad88fc68236" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_ce624a54-6763-4e75-b6a3-dfa5e7bcf43c" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_d0d1c5ee-5fe6-4a2f-9dcb-9ad88fc68236" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_59d5a856-8c4b-4710-b91f-465437da3d26" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_d0bbc195-f388-4601-9bc7-7710f35a9a9d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_59d5a856-8c4b-4710-b91f-465437da3d26" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_d0bbc195-f388-4601-9bc7-7710f35a9a9d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_aeb40fba-286f-4346-af0d-5f277e78e1c2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_59d5a856-8c4b-4710-b91f-465437da3d26" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_aeb40fba-286f-4346-af0d-5f277e78e1c2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_5d4853c6-a2f4-4368-bc2f-74f32e8993c5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_fef87ef7-1ea2-4444-be89-4deff0d91704" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_5d4853c6-a2f4-4368-bc2f-74f32e8993c5" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_fef87ef7-1ea2-4444-be89-4deff0d91704" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_90f91539-ce43-45b9-835a-29a68905ed12" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_5d4853c6-a2f4-4368-bc2f-74f32e8993c5" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_90f91539-ce43-45b9-835a-29a68905ed12" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnet"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_3a17f2e4-adb5-4a51-aae5-536e9080cdb5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_22146893-8214-4dfd-829c-26d5b314adf2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_3a17f2e4-adb5-4a51-aae5-536e9080cdb5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_22146893-8214-4dfd-829c-26d5b314adf2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_61f02b63-22c3-4b62-9d97-34a3222cedd3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_3a17f2e4-adb5-4a51-aae5-536e9080cdb5" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_61f02b63-22c3-4b62-9d97-34a3222cedd3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnet"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_da065009-ee0e-438c-b34f-2b4338760b9f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_d82e6cf7-ed40-4b1a-a780-c642c55d4e6f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_da065009-ee0e-438c-b34f-2b4338760b9f" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_d82e6cf7-ed40-4b1a-a780-c642c55d4e6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_3b1cc860-7f34-4b1b-85b4-68dc6bd3c9e2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_da065009-ee0e-438c-b34f-2b4338760b9f" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_3b1cc860-7f34-4b1b-85b4-68dc6bd3c9e2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_15597a09-c0ec-409f-baa6-f1232f23a0a1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_0a6c1e7a-3cbd-431f-83aa-868b8c8e307e" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_15597a09-c0ec-409f-baa6-f1232f23a0a1" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_0a6c1e7a-3cbd-431f-83aa-868b8c8e307e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_5c71282b-d1c9-435f-934c-0251e7f09b29" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_15597a09-c0ec-409f-baa6-f1232f23a0a1" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_5c71282b-d1c9-435f-934c-0251e7f09b29" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_153d0d42-5ce8-40b4-b155-91a47deea241" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_15597a09-c0ec-409f-baa6-f1232f23a0a1" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_153d0d42-5ce8-40b4-b155-91a47deea241" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwill"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_baed49b2-64a1-4084-a97f-0a01021d9bca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_786cb0c4-f645-4b0b-ad20-8178a6951e83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_baed49b2-64a1-4084-a97f-0a01021d9bca" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_786cb0c4-f645-4b0b-ad20-8178a6951e83" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_e0db5d6b-8b11-4a76-bb0f-3241d5d590a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_baed49b2-64a1-4084-a97f-0a01021d9bca" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_e0db5d6b-8b11-4a76-bb0f-3241d5d590a2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8023e57b-e149-44ab-98d1-f1148a66826e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8023e57b-e149-44ab-98d1-f1148a66826e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_49e4d46d-f1f3-4b3d-a443-bec3559b82f1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_49e4d46d-f1f3-4b3d-a443-bec3559b82f1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_b5f5a444-2705-4c10-ba58-021cf61ddde7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_b5f5a444-2705-4c10-ba58-021cf61ddde7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_6f091951-d304-4706-8f0a-1eaf3475bc66" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_6f091951-d304-4706-8f0a-1eaf3475bc66" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_8d4d6c66-7ad0-4dd0-aa0b-7bbe248ffcc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_8d4d6c66-7ad0-4dd0-aa0b-7bbe248ffcc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_d7bbc43b-f4fc-4fe6-b172-f0acdedbf310" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_539f1f4f-c3d3-4acf-9346-4fae35a73123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_d7bbc43b-f4fc-4fe6-b172-f0acdedbf310" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillGoodwillDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpenses"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_233fb206-d829-48b2-9187-1f6e0ebe2914" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:to="loc_us-gaap_AccruedSalariesCurrent_233fb206-d829-48b2-9187-1f6e0ebe2914" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_dc1a19d7-f9b2-4ef7-bcbf-b7df9b906c8f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_dc1a19d7-f9b2-4ef7-bcbf-b7df9b906c8f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_1bff3069-0fc1-4ffb-80c8-b76b0c22624e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:to="loc_us-gaap_AccruedVacationCurrent_1bff3069-0fc1-4ffb-80c8-b76b0c22624e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent_c90577f3-9aca-4ce3-b610-ed6160cfd911" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:to="loc_us-gaap_AccruedPayrollTaxesCurrent_c90577f3-9aca-4ce3-b610-ed6160cfd911" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_3f681d61-2212-4187-9712-7fe76be3f651" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_044b7ec8-34ac-4064-8218-1e3d480fbcc5" xlink:to="loc_us-gaap_AccruedBonusesCurrent_3f681d61-2212-4187-9712-7fe76be3f651" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/Leases" xlink:type="simple" xlink:href="appf-20201231.xsd#Leases"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/Leases" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofComponentsofLeaseexpenseDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_2c0cb1e3-509e-45ee-a70e-9eb3c189353b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_70948081-fd20-424b-a2fb-2073165ac318" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_2c0cb1e3-509e-45ee-a70e-9eb3c189353b" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_70948081-fd20-424b-a2fb-2073165ac318" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4db86c59-7ddd-463a-9721-c5b75063194c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_2c0cb1e3-509e-45ee-a70e-9eb3c189353b" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4db86c59-7ddd-463a-9721-c5b75063194c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2a64dbe9-b3ee-43ba-bce8-7015a6761374" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2a64dbe9-b3ee-43ba-bce8-7015a6761374" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_2f3fd839-1b07-4575-b7dd-1dacaf7a5e7b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_2f3fd839-1b07-4575-b7dd-1dacaf7a5e7b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_873c233e-eef5-46c8-94c0-f84f2ab584fe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_873c233e-eef5-46c8-94c0-f84f2ab584fe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9a356653-7318-43dd-8fcd-f8c76a6f748b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9a356653-7318-43dd-8fcd-f8c76a6f748b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_29f27623-8d9c-4def-9f7f-59661c4a2f65" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_29f27623-8d9c-4def-9f7f-59661c4a2f65" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_e4b83e33-c6a1-442e-9256-3a16acb1c2ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_86ae3007-1477-4bfd-9b0c-e84f1431eb8e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_e4b83e33-c6a1-442e-9256-3a16acb1c2ab" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_41e47cdb-0c42-4076-a78c-b157e48a0740" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_a283faf5-c013-456c-8629-8f41de83287e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_41e47cdb-0c42-4076-a78c-b157e48a0740" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_a283faf5-c013-456c-8629-8f41de83287e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_3b2fc4ce-e66f-4628-88ac-1be68c69ad69" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_41e47cdb-0c42-4076-a78c-b157e48a0740" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_3b2fc4ce-e66f-4628-88ac-1be68c69ad69" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebt" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebt"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LongtermDebt" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtSummaryofLongtemDebtDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_8860cf11-2eaa-4a2b-8973-0deb1ef06a68" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_eb68cde9-c293-4bc7-992d-5fd3ff30cd37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_8860cf11-2eaa-4a2b-8973-0deb1ef06a68" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_eb68cde9-c293-4bc7-992d-5fd3ff30cd37" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_c53b2dc3-2a9c-42d5-9abf-81401b42f96b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_8860cf11-2eaa-4a2b-8973-0deb1ef06a68" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_c53b2dc3-2a9c-42d5-9abf-81401b42f96b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingencies"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingenciesAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquity" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquity"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockholdersEquity" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityShareRepurchaseProgramDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensation"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionPlansDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionActivityDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockAwardsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxes" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxes"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxes" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesEffectiveIncomeTaxReconciliationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_ec898cb2-7cf9-4867-b5c5-70fb8bdc4b3d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_ec898cb2-7cf9-4867-b5c5-70fb8bdc4b3d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_0e511fe4-0c70-47b3-943d-41d204a83270" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_0e511fe4-0c70-47b3-943d-41d204a83270" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_744cedc1-0ae4-40b5-b408-91a4830d6965" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_744cedc1-0ae4-40b5-b408-91a4830d6965" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_93ab5f85-dd87-4637-a081-465c66e5cbe6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_93ab5f85-dd87-4637-a081-465c66e5cbe6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_76b3a8a4-4b85-41c7-9dc0-3fc9d90f3c87" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_76b3a8a4-4b85-41c7-9dc0-3fc9d90f3c87" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_18705d17-2d23-4393-9b90-3487966aae23" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_18705d17-2d23-4393-9b90-3487966aae23" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_32ee0682-941d-4854-b127-90894043c6c2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e2088283-5cd8-4cde-adee-7959d0b613a2" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_32ee0682-941d-4854-b127-90894043c6c2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofIncomeTaxesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_42b95318-28f3-44e3-a949-f8ce5b613478" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_719cb6fb-6752-42bc-b363-34905f2940e4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_42b95318-28f3-44e3-a949-f8ce5b613478" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_719cb6fb-6752-42bc-b363-34905f2940e4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_17741074-759e-4bf5-92c3-00d99fc24bf4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_42b95318-28f3-44e3-a949-f8ce5b613478" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_17741074-759e-4bf5-92c3-00d99fc24bf4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_969522de-de3e-404d-afcf-e86594b8899f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_4d2e4571-bad9-446f-b4d1-7334b7edc043" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_969522de-de3e-404d-afcf-e86594b8899f" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_4d2e4571-bad9-446f-b4d1-7334b7edc043" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_d32a70e8-fd6f-452b-ae8a-1a0bd88bd552" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_969522de-de3e-404d-afcf-e86594b8899f" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_d32a70e8-fd6f-452b-ae8a-1a0bd88bd552" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_93f698b4-6f3a-4dc5-9e8a-85bae5fb94eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_cb8962ef-159b-434c-91d0-5ec784d3e9ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_93f698b4-6f3a-4dc5-9e8a-85bae5fb94eb" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_cb8962ef-159b-434c-91d0-5ec784d3e9ed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_78d7f4a1-daea-45bd-a9e3-9d1263f1e7e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_93f698b4-6f3a-4dc5-9e8a-85bae5fb94eb" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_78d7f4a1-daea-45bd-a9e3-9d1263f1e7e7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_764178bb-ac25-4145-8cb9-607015d5ea07" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_764178bb-ac25-4145-8cb9-607015d5ea07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_d5c35c91-a05e-40fb-96bb-19e34e22daf6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_d5c35c91-a05e-40fb-96bb-19e34e22daf6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_b1c49721-1024-423f-8146-36fe6ea9109f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_b1c49721-1024-423f-8146-36fe6ea9109f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_128d3860-4170-49f6-b290-8ab9b801ccca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_128d3860-4170-49f6-b290-8ab9b801ccca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxAssetsLeasingArrangements_642bf88b-4d34-4056-805b-860a54743270" xlink:href="appf-20201231.xsd#appf_DeferredTaxAssetsLeasingArrangements"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_95a13fe3-62b5-440c-bf6f-62df73191fbd" xlink:to="loc_appf_DeferredTaxAssetsLeasingArrangements_642bf88b-4d34-4056-805b-860a54743270" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_0b69c225-3b6d-4430-b1f7-a8ba39d7f284" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_6c615e7f-f14c-44a0-a00d-97bb131e9755" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_0b69c225-3b6d-4430-b1f7-a8ba39d7f284" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_6c615e7f-f14c-44a0-a00d-97bb131e9755" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_81be0741-afb2-40aa-affc-461bda9801b6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_0b69c225-3b6d-4430-b1f7-a8ba39d7f284" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_81be0741-afb2-40aa-affc-461bda9801b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_bccb3526-d1c2-494f-94c9-dada4d6624e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_bccb3526-d1c2-494f-94c9-dada4d6624e7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_8bafa568-884f-4f7c-bc66-ca05e930b4b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_8bafa568-884f-4f7c-bc66-ca05e930b4b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions_2b77a1e0-6c30-44d2-b3f7-5757c47578d4" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesCapitalizedCommissions"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions_2b77a1e0-6c30-44d2-b3f7-5757c47578d4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesStateTaxes_8822dce6-4fd0-4d3e-ad3d-02c48288d74e" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesStateTaxes"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_appf_DeferredTaxLiabilitiesStateTaxes_8822dce6-4fd0-4d3e-ad3d-02c48288d74e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_e9af92e5-15b9-466a-83b4-5aed4efc4a69" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_e9af92e5-15b9-466a-83b4-5aed4efc4a69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_42a24c85-644f-4c39-bc05-1d1bc5dcf728" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_6116aede-d428-4963-b887-08689ce8c249" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_42a24c85-644f-4c39-bc05-1d1bc5dcf728" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_d42aa6f6-a28d-48b1-bdbd-b2d6b6a59500" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_bace134b-2dbe-460b-989f-ed51f1b17ec1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_d42aa6f6-a28d-48b1-bdbd-b2d6b6a59500" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_bace134b-2dbe-460b-989f-ed51f1b17ec1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_2074b583-bf87-4972-ae36-fe61fe5a62b7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_d42aa6f6-a28d-48b1-bdbd-b2d6b6a59500" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_2074b583-bf87-4972-ae36-fe61fe5a62b7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesChangesinValuationAllowanceDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformation"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationTables"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlans" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlans"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/RetirementPlans" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlansDetails"/>
  <link:calculationLink xlink:role="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="extended"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>appf-20201231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/Cover" xlink:type="simple" xlink:href="appf-20201231.xsd#Cover"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/Cover" xlink:type="extended" id="ie3557e9465394030a37585579caf814b_Cover">
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_f1d9dfc1-09bd-4e9c-84e3-6273c365d203" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentType_f1d9dfc1-09bd-4e9c-84e3-6273c365d203" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_d5efc8d2-004c-47db-829d-874c9d5f8e4a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentAnnualReport_d5efc8d2-004c-47db-829d-874c9d5f8e4a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_1ad530e0-ea7a-4ce2-999c-4048ea6f85bf" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentPeriodEndDate_1ad530e0-ea7a-4ce2-999c-4048ea6f85bf" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_fea3fda7-1499-4ef7-8746-74a91cb21c55" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_CurrentFiscalYearEndDate_fea3fda7-1499-4ef7-8746-74a91cb21c55" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_35fa8959-ab98-4e8d-b3fc-42d81208311b" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentTransitionReport_35fa8959-ab98-4e8d-b3fc-42d81208311b" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_312e2e94-391c-4e0a-9ae5-88599b47f269" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityFileNumber_312e2e94-391c-4e0a-9ae5-88599b47f269" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_65b24ec5-3c2c-464c-8ffd-0768c3e3c690" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityRegistrantName_65b24ec5-3c2c-464c-8ffd-0768c3e3c690" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_ce429835-817a-4a42-ba6b-4e98e41de8f3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityIncorporationStateCountryCode_ce429835-817a-4a42-ba6b-4e98e41de8f3" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_4f0bb5ca-2abb-408b-902a-cf7c4ed8e4d6" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityTaxIdentificationNumber_4f0bb5ca-2abb-408b-902a-cf7c4ed8e4d6" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_d3af76c4-ff55-4a79-990d-1bd5f08e35fa" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressAddressLine1_d3af76c4-ff55-4a79-990d-1bd5f08e35fa" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_30ae7f05-d1e1-4376-b6d7-99b08426f12e" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressCityOrTown_30ae7f05-d1e1-4376-b6d7-99b08426f12e" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_09e5f1b5-20b3-4048-8ccc-1775ca86a3ac" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressStateOrProvince_09e5f1b5-20b3-4048-8ccc-1775ca86a3ac" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_2b012fc1-2b65-4219-ba4d-e6208bfb9854" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressPostalZipCode_2b012fc1-2b65-4219-ba4d-e6208bfb9854" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_a01fcded-ce05-45e6-a1a2-d2d2d909a351" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_CityAreaCode_a01fcded-ce05-45e6-a1a2-d2d2d909a351" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_27fcb985-7aa3-4fa7-a563-768c0b7b2575" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_LocalPhoneNumber_27fcb985-7aa3-4fa7-a563-768c0b7b2575" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_b7ed83ce-68f8-42fb-a587-fcb510843f91" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_Security12bTitle_b7ed83ce-68f8-42fb-a587-fcb510843f91" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_73965b3b-601c-453e-a979-813ed162f0bb" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_TradingSymbol_73965b3b-601c-453e-a979-813ed162f0bb" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_817bd7fc-c68c-4594-9f36-c98366e94e27" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_SecurityExchangeName_817bd7fc-c68c-4594-9f36-c98366e94e27" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_9736b813-bccc-4ad5-b4ba-0acbcf2dc4b7" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_9736b813-bccc-4ad5-b4ba-0acbcf2dc4b7" xlink:type="arc" order="18"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_d9c814dc-d476-4e41-9de7-31b5d5ba4589" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityVoluntaryFilers_d9c814dc-d476-4e41-9de7-31b5d5ba4589" xlink:type="arc" order="19"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_b1738bed-ff12-40c6-b65d-31ad43723cea" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCurrentReportingStatus_b1738bed-ff12-40c6-b65d-31ad43723cea" xlink:type="arc" order="20"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_d85be238-be75-4e06-a347-05bfd01d64a3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityInteractiveDataCurrent_d85be238-be75-4e06-a347-05bfd01d64a3" xlink:type="arc" order="21"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_f359cf08-e827-4a0b-a57f-5c30b08f3144" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityFilerCategory_f359cf08-e827-4a0b-a57f-5c30b08f3144" xlink:type="arc" order="22"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_cb9a54e9-d7f4-4591-9edb-a23e781cedf7" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntitySmallBusiness_cb9a54e9-d7f4-4591-9edb-a23e781cedf7" xlink:type="arc" order="23"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_55f50310-2efb-47ed-89b9-345783e6e89a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityEmergingGrowthCompany_55f50310-2efb-47ed-89b9-345783e6e89a" xlink:type="arc" order="24"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_e92a9665-3cab-41e1-9401-207d26b035ed" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_IcfrAuditorAttestationFlag_e92a9665-3cab-41e1-9401-207d26b035ed" xlink:type="arc" order="25"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_1372b835-43e8-4df6-8bc9-c1edb7641267" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityShellCompany_1372b835-43e8-4df6-8bc9-c1edb7641267" xlink:type="arc" order="26"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_80a062d2-7cf9-45b6-b433-df6940ce9950" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityPublicFloat_80a062d2-7cf9-45b6-b433-df6940ce9950" xlink:type="arc" order="27"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_332e56ec-0d30-41e2-8089-46e97d6f6dd9" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_332e56ec-0d30-41e2-8089-46e97d6f6dd9" xlink:type="arc" order="28"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_a39a6278-82dc-44d4-85ad-68003a908da3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_a39a6278-82dc-44d4-85ad-68003a908da3" xlink:type="arc" order="29"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_50ec9af9-2c1c-42da-a0db-6c942f99ed6d" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCentralIndexKey_50ec9af9-2c1c-42da-a0db-6c942f99ed6d" xlink:type="arc" order="30"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_f599a05b-39e1-481d-99dd-a8d0128c0865" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentFiscalYearFocus_f599a05b-39e1-481d-99dd-a8d0128c0865" xlink:type="arc" order="31"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_62bcd0dc-8669-4a52-8994-dc2c8b37f240" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentFiscalPeriodFocus_62bcd0dc-8669-4a52-8994-dc2c8b37f240" xlink:type="arc" order="32"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_8ffdb59f-4e9f-4613-abea-d7dca154b6ba" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_AmendmentFlag_8ffdb59f-4e9f-4613-abea-d7dca154b6ba" xlink:type="arc" order="33"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:to="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d64631c7-05eb-40ea-86c2-5b63067f718f_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:to="loc_us-gaap_ClassOfStockDomain_d64631c7-05eb-40ea-86c2-5b63067f718f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:to="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_b3d2b713-b1bf-4a3f-931c-e1230ed92c2d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:to="loc_us-gaap_CommonClassAMember_b3d2b713-b1bf-4a3f-931c-e1230ed92c2d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_6ab8d8c3-4f11-4904-adc9-18726676333b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:to="loc_us-gaap_CommonClassBMember_6ab8d8c3-4f11-4904-adc9-18726676333b" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheets"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="extended" id="i44fae5b0c84448bc93b2b29f8e7436e2_ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_39e88274-6b5e-457c-a00a-d5f2d195016b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_39e88274-6b5e-457c-a00a-d5f2d195016b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_fc15d74e-56fa-49b7-b510-21418ba3339d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_fc15d74e-56fa-49b7-b510-21418ba3339d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5bf0dbf6-e9e8-4af1-93bc-376ae545cedc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5bf0dbf6-e9e8-4af1-93bc-376ae545cedc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_a9f71801-7924-4335-81f4-ef5248d35350" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_a9f71801-7924-4335-81f4-ef5248d35350" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_40680689-eac9-4c77-b617-448386fec74c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AssetsCurrent_40680689-eac9-4c77-b617-448386fec74c" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e4c51396-9774-4239-938b-d5af12080b0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e4c51396-9774-4239-938b-d5af12080b0b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_5ea31a82-c1aa-4a29-aac1-906a1c395721" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_5ea31a82-c1aa-4a29-aac1-906a1c395721" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_dffeac8f-a03f-4ea1-bd1c-6112c636a8fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_dffeac8f-a03f-4ea1-bd1c-6112c636a8fd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_14e2311c-dcf0-4db7-8660-4a262f0a742e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_14e2311c-dcf0-4db7-8660-4a262f0a742e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8e93095f-a899-466b-9c5a-5b5f1630e4d1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_Goodwill_8e93095f-a899-466b-9c5a-5b5f1630e4d1" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_e9a7b9ef-cf11-45df-88c3-493968dd82da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_e9a7b9ef-cf11-45df-88c3-493968dd82da" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_f78ef3c2-d4f8-4a59-bfa1-4fbb0d869d45" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_f78ef3c2-d4f8-4a59-bfa1-4fbb0d869d45" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9212e399-00c6-4245-a10f-970221c4388f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9212e399-00c6-4245-a10f-970221c4388f" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_52b9a62e-9d6f-4ab0-b2b3-948675672596" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_Assets_52b9a62e-9d6f-4ab0-b2b3-948675672596" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_38a84d1c-d25a-4a36-8cc4-131ec86c2807" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_AccountsPayableCurrent_38a84d1c-d25a-4a36-8cc4-131ec86c2807" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_b887fc2e-89aa-4b50-9627-f11ab05d8049" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_b887fc2e-89aa-4b50-9627-f11ab05d8049" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_0d23324e-5db6-4987-9f2e-060282785e62" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_0d23324e-5db6-4987-9f2e-060282785e62" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c8274f0d-4a40-40c0-bd5e-59a83605b958" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c8274f0d-4a40-40c0-bd5e-59a83605b958" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_2ea8984c-c1c5-4d1c-aa09-84e0136bf24e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_TaxesPayableCurrent_2ea8984c-c1c5-4d1c-aa09-84e0136bf24e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_879feb22-43cc-44f2-8bc9-e9beb4507a3a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_879feb22-43cc-44f2-8bc9-e9beb4507a3a" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_82bdc2da-7cb2-4d8b-9868-6956e81aebf1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_LongTermDebtCurrent_82bdc2da-7cb2-4d8b-9868-6956e81aebf1" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_18b9deaf-01ed-4db3-a2d6-44f4af0dfdd2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_LiabilitiesCurrent_18b9deaf-01ed-4db3-a2d6-44f4af0dfdd2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_944cbf05-9c5f-4359-a37c-627d85df44ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_944cbf05-9c5f-4359-a37c-627d85df44ff" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredLongTermDebt_b7fc0cfa-0c2c-4b3a-b322-e1a825bb83e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredLongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_SecuredLongTermDebt_b7fc0cfa-0c2c-4b3a-b322-e1a825bb83e9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5b6c6fa8-5e52-4aa3-a9a7-c7a2f9f4c191" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5b6c6fa8-5e52-4aa3-a9a7-c7a2f9f4c191" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5af080a0-98f0-4168-a951-d6a4589db4d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_Liabilities_5af080a0-98f0-4168-a951-d6a4589db4d4" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_bdf4e9fa-a7db-405d-b3f1-995191931c6b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_CommitmentsAndContingencies_bdf4e9fa-a7db-405d-b3f1-995191931c6b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_208a60a8-f4c0-4408-ba3d-702a86d0c8c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_PreferredStockValue_208a60a8-f4c0-4408-ba3d-702a86d0c8c0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_d3315591-86d8-4129-b512-edf350db683d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_CommonStockValue_d3315591-86d8-4129-b512-edf350db683d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_2cd1eac7-efb4-468e-95dc-f99affdab81a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_AdditionalPaidInCapital_2cd1eac7-efb4-468e-95dc-f99affdab81a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_0a344fdc-b953-40a7-b4d6-363430a819e1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_0a344fdc-b953-40a7-b4d6-363430a819e1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_43b83c4f-b08c-42d9-ae1a-a7776589e535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_TreasuryStockValue_43b83c4f-b08c-42d9-ae1a-a7776589e535" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_87a11a9b-42f5-4ba8-bfda-551005d7b39d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_87a11a9b-42f5-4ba8-bfda-551005d7b39d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bfc27da7-8d71-44a2-bb0f-eb2681bc8282" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_StockholdersEquity_bfc27da7-8d71-44a2-bb0f-eb2681bc8282" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_ffafd5cf-3c41-475a-9d54-30a92f5b81c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_ffafd5cf-3c41-475a-9d54-30a92f5b81c1" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e1d5395f-b5a4-46eb-a6bc-912b8cfac76f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e1d5395f-b5a4-46eb-a6bc-912b8cfac76f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_48e28ce6-8012-44a5-8beb-8b04a5366c8b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_48e28ce6-8012-44a5-8beb-8b04a5366c8b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_430fb47f-d761-4055-a148-75ca3721db31" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesIssued_430fb47f-d761-4055-a148-75ca3721db31" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_22404db2-89f7-489d-bf26-bb0f0e320ba8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_22404db2-89f7-489d-bf26-bb0f0e320ba8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_63091d3b-4f1a-486a-a93c-50909187c06d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_63091d3b-4f1a-486a-a93c-50909187c06d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_09135f19-58a7-4087-a615-577009e5c013" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_09135f19-58a7-4087-a615-577009e5c013" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_06b6c7d0-0ece-4ac9-887f-e0c65621acd9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesIssued_06b6c7d0-0ece-4ac9-887f-e0c65621acd9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_eb8f89f7-205c-40fa-b78e-3884da121a6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_eb8f89f7-205c-40fa-b78e-3884da121a6a" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_8f514d23-4e3b-4009-9e40-0ae8eb87ab20" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_TreasuryStockShares_8f514d23-4e3b-4009-9e40-0ae8eb87ab20" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:to="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_c485a9b3-ba63-463e-b895-ca4ea06ef890_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:to="loc_us-gaap_ClassOfStockDomain_c485a9b3-ba63-463e-b895-ca4ea06ef890_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:to="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_2d2b0459-256e-491d-a24c-0424c62b69ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:to="loc_us-gaap_CommonClassAMember_2d2b0459-256e-491d-a24c-0424c62b69ca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_e14b367f-1f3d-42b9-81e1-2ebaa5262dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:to="loc_us-gaap_CommonClassBMember_e14b367f-1f3d-42b9-81e1-2ebaa5262dc9" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" id="if85ec2bb44c3460685463a07f67af2f4_ConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_72720601-9986-458d-a574-204ee013fc5b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_72720601-9986-458d-a574-204ee013fc5b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_683a8cae-6fa5-4999-954e-21745676667a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_683a8cae-6fa5-4999-954e-21745676667a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_304f2954-bcb4-47cc-85af-41c1419f4258" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesIssued_304f2954-bcb4-47cc-85af-41c1419f4258" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_99d29075-f1fc-450e-9f13-a3cab77726b5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_99d29075-f1fc-450e-9f13-a3cab77726b5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_f388b821-21b5-46a9-bdfa-60cab7ca0bcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_f388b821-21b5-46a9-bdfa-60cab7ca0bcc" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_62f32698-fde1-40c8-9bd8-e2aecd32fca0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_62f32698-fde1-40c8-9bd8-e2aecd32fca0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_cca0811a-2656-44f0-a620-b785dc3f379c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesIssued_cca0811a-2656-44f0-a620-b785dc3f379c" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_7c9eb3d7-cb70-4dab-a945-7ea407621b2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_7c9eb3d7-cb70-4dab-a945-7ea407621b2b" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_5590b604-8e2f-468f-8e32-ab88f669ae83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_TreasuryStockShares_5590b604-8e2f-468f-8e32-ab88f669ae83" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:to="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_cf126385-8465-4449-8f66-6d7700bbc7fd_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:to="loc_us-gaap_ClassOfStockDomain_cf126385-8465-4449-8f66-6d7700bbc7fd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:to="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_8c6098e7-fb1a-465c-a7fa-b6614886d3ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:to="loc_us-gaap_CommonClassAMember_8c6098e7-fb1a-465c-a7fa-b6614886d3ab" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_266b3cf4-7aa3-44f5-97b2-127ad84abd1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:to="loc_us-gaap_CommonClassBMember_266b3cf4-7aa3-44f5-97b2-127ad84abd1f" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofOperations"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="extended" id="i165884af81df4a38888e1311a2a538e5_ConsolidatedStatementsofOperations"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="extended" id="id8f27a0e39364f4fb73fa6dc6e63d17a_ConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofStockholdersEquityDeficit"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="extended" id="iaaeecb190d9242069a25a3210f7d3b68_ConsolidatedStatementsofStockholdersEquityDeficit">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_9d8d3c35-373d-4146-a43f-9d4b68ef61b6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_SharesOutstanding_9d8d3c35-373d-4146-a43f-9d4b68ef61b6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4e6d166c-90a9-4c3f-9dd8-bb4344296aff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockholdersEquity_4e6d166c-90a9-4c3f-9dd8-bb4344296aff" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_7d11673d-e403-4a69-9ef0-b9c65dd5831a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_7d11673d-e403-4a69-9ef0-b9c65dd5831a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7d5fa515-db65-4cd3-9c6a-281d29748e0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7d5fa515-db65-4cd3-9c6a-281d29748e0e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef160174-3e41-4d2b-af5e-437e1892afcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef160174-3e41-4d2b-af5e-437e1892afcc" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_20ccd02e-2b27-4844-a987-a051a0ad6233" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_20ccd02e-2b27-4844-a987-a051a0ad6233" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_be4a0e39-b9c7-44d0-9bed-48c83ac92ac6" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_be4a0e39-b9c7-44d0-9bed-48c83ac92ac6" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_81eda0ff-3762-46e5-befe-cbeca3984dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_81eda0ff-3762-46e5-befe-cbeca3984dc9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1_52d1593b-533a-4434-b389-49e3af184011" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_ConversionOfStockSharesConverted1_52d1593b-533a-4434-b389-49e3af184011" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockAmountConverted1_c7036929-634b-4e10-aa01-d3bea324ec83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockAmountConverted1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_ConversionOfStockAmountConverted1_c7036929-634b-4e10-aa01-d3bea324ec83" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_721c26c5-dd6b-4271-bcd0-206d63a1b180" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_721c26c5-dd6b-4271-bcd0-206d63a1b180" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_52ecf01b-f8cb-4635-be49-1a2c445791cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_52ecf01b-f8cb-4635-be49-1a2c445791cb" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_188954ba-1a85-44f0-b013-b7373d78e154" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_188954ba-1a85-44f0-b013-b7373d78e154" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_914eb907-0a99-4de8-b978-f77b66f0a4c5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_914eb907-0a99-4de8-b978-f77b66f0a4c5" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_7070f002-9eb1-4f27-88e4-3cd3db384ece" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_7070f002-9eb1-4f27-88e4-3cd3db384ece" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList_7da8060c-a63a-440a-9324-911637afab75" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AccountingStandardsUpdateExtensibleList_7da8060c-a63a-440a-9324-911637afab75" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e66a4c7e-c0cc-4244-a5a2-f72e0e3c3f84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_NetIncomeLoss_e66a4c7e-c0cc-4244-a5a2-f72e0e3c3f84" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_a9e5ca1f-c56a-4295-b605-f15cd6a88ce8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_fda1f920-9757-414c-8fda-bfcd956c4289" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:to="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_67f10ff0-446a-4fb5-bb80-8693119dc530_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:to="loc_us-gaap_EquityComponentDomain_67f10ff0-446a-4fb5-bb80-8693119dc530_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:to="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_477bcdee-6ad4-4d74-b2f8-3975e840786a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_CommonStockMember_477bcdee-6ad4-4d74-b2f8-3975e840786a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_14538369-aeb9-4dbd-849d-0e67812b7e90" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_14538369-aeb9-4dbd-849d-0e67812b7e90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_00f547ae-a0ce-4ff1-9545-4124a491e7ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_00f547ae-a0ce-4ff1-9545-4124a491e7ef" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_7c54b1a7-50de-4862-902b-cdcb1c15bf42" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_TreasuryStockMember_7c54b1a7-50de-4862-902b-cdcb1c15bf42" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_b2df796e-8a6c-4e3c-92e8-3d480d0de8a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_RetainedEarningsMember_b2df796e-8a6c-4e3c-92e8-3d480d0de8a4" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_636a60c6-2f1f-4ca7-bb96-e2e16579daa0_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:to="loc_us-gaap_ClassOfStockDomain_636a60c6-2f1f-4ca7-bb96-e2e16579daa0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:to="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_8a84415f-5a3f-40b3-85fc-e20b28c7226a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:to="loc_us-gaap_CommonClassAMember_8a84415f-5a3f-40b3-85fc-e20b28c7226a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_bf438bbc-e293-49ee-a59f-366b3d5b825c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:to="loc_us-gaap_CommonClassBMember_bf438bbc-e293-49ee-a59f-366b3d5b825c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_9c84cf74-beed-424a-846c-203194f386ed_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_9c84cf74-beed-424a-846c-203194f386ed_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_32f9e407-0554-4620-983b-489a6077fb51" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_32f9e407-0554-4620-983b-489a6077fb51" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended" id="i27380b4523eb45d0b057c72ad7f050fe_ConsolidatedStatementsofCashFlows"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlowsReconciliation"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="extended" id="i99cc5b0a6ffc4271b484f641f56b4e78_ConsolidatedStatementsofCashFlowsReconciliation"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusiness" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusiness"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/NatureofBusiness" xlink:type="extended" id="i20b6ec2742a64b9983c8d680eb1a0f2a_NatureofBusiness"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusinessDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="extended" id="i7564fbe772474ebe9205c6e4a4ec786e_NatureofBusinessDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3a2e58dd-6093-4de7-9364-71a13bc9e8ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3a2e58dd-6093-4de7-9364-71a13bc9e8ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_11418a8a-9906-4741-b6e9-14759a787d1f" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_11418a8a-9906-4741-b6e9-14759a787d1f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_da169533-8bf0-406a-a7ef-830d340231eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_da169533-8bf0-406a-a7ef-830d340231eb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ee21adaa-2d85-493d-8957-d33cf9001e4e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ee21adaa-2d85-493d-8957-d33cf9001e4e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_dcbe69f7-6516-42a7-a863-134cc84375f6_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:to="loc_srt_ProductsAndServicesDomain_dcbe69f7-6516-42a7-a863-134cc84375f6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:to="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_05901773-c515-41bd-9229-5627e5cbb39a" xlink:href="appf-20201231.xsd#appf_SoftwareAndServicesOfferedToRealEstateVerticalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:to="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_05901773-c515-41bd-9229-5627e5cbb39a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_de7458a7-23e8-4ed4-8f44-113151c86cc3_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_de7458a7-23e8-4ed4-8f44-113151c86cc3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_ac9b8c39-37b0-4072-b3fb-9acfbe1700bf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_ac9b8c39-37b0-4072-b3fb-9acfbe1700bf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_252419e5-9f5e-4716-8fc8-39088c6e56c1_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_252419e5-9f5e-4716-8fc8-39088c6e56c1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_3a223f7e-c9dd-48b4-8184-52ed263a884a" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:to="loc_appf_MyCaseMember_3a223f7e-c9dd-48b4-8184-52ed263a884a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended" id="i385368fa4acd4398a348e239fe7b3177_SummaryofSignificantAccountingPolicies"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended" id="i6a1abb8e35fb4a2c9f2e443740c169b7_SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended" id="ice0848ffb9b047bfa07af2642cad0c3d_SummaryofSignificantAccountingPoliciesTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended" id="i7d8f02cf51ea4d70aa447c2221295c37_SummaryofSignificantAccountingPoliciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_0a2ded1c-982b-4d69-8400-434c621586e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfOperatingSegments_0a2ded1c-982b-4d69-8400-434c621586e0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_823eb230-fec4-4f44-89fb-35495996486c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfReportableSegments_823eb230-fec4-4f44-89fb-35495996486c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_82596b8c-9ff3-4d9e-ac91-815fa4df2b32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_82596b8c-9ff3-4d9e-ac91-815fa4df2b32" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForOtherCreditLosses_61bddbe4-2a16-40f4-bfcb-3bf7afc13909" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForOtherCreditLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ProvisionForOtherCreditLosses_61bddbe4-2a16-40f4-bfcb-3bf7afc13909" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_5497f793-a4aa-4da2-83ed-1a4bc5e7ba93" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_5497f793-a4aa-4da2-83ed-1a4bc5e7ba93" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_cf10a206-d61a-4c8e-89ea-953e0908116a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfReportingUnits_cf10a206-d61a-4c8e-89ea-953e0908116a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLossNetOfTax_04b60b17-1582-4bea-8553-5dc1635a964b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillImpairmentLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_GoodwillImpairmentLossNetOfTax_04b60b17-1582-4bea-8553-5dc1635a964b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_e0f662c6-ecc2-438d-87c9-a9222d60c58d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_e0f662c6-ecc2-438d-87c9-a9222d60c58d" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ContractTermSubscriptionAgreement_774a3a6a-04cb-4068-8c13-38b2ef76975e" xlink:href="appf-20201231.xsd#appf_ContractTermSubscriptionAgreement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_appf_ContractTermSubscriptionAgreement_774a3a6a-04cb-4068-8c13-38b2ef76975e" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_ca440916-1409-4156-980f-c44f1d151c99" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_ca440916-1409-4156-980f-c44f1d151c99" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_11353676-af08-492a-b50b-6ee887cc35ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_11353676-af08-492a-b50b-6ee887cc35ee" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_d935c0f0-df2a-44bf-997c-4486d4292c62" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNet_d935c0f0-df2a-44bf-997c-4486d4292c62" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetCurrent_23a0a305-6ee8-4324-a409-41ee3bf47b4f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNetCurrent_23a0a305-6ee8-4324-a409-41ee3bf47b4f" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_548a379f-7970-4fcb-9cdc-8f99c1a9b838" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_548a379f-7970-4fcb-9cdc-8f99c1a9b838" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_b57ef8fb-7b17-45de-8453-6b9d2d54af54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_b57ef8fb-7b17-45de-8453-6b9d2d54af54" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_007b0ecf-d1e4-49a5-a951-25e7ecc15a41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_AdvertisingExpense_007b0ecf-d1e4-49a5-a951-25e7ecc15a41" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_8619c45f-248e-45c0-99d5-f132c10b5f9f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_8619c45f-248e-45c0-99d5-f132c10b5f9f" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_77aa9f39-48ab-4946-877a-7406d629328b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_77aa9f39-48ab-4946-877a-7406d629328b" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_b6ab095e-6f77-40f5-95bd-2435d017d678" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_b6ab095e-6f77-40f5-95bd-2435d017d678" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillMember_110044b3-84d4-49b4-a146-961954c60904" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:to="loc_us-gaap_GoodwillMember_110044b3-84d4-49b4-a146-961954c60904" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_e8a109a1-55cf-41c9-b5dd-ecce14df85cb_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_e8a109a1-55cf-41c9-b5dd-ecce14df85cb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_37653aab-0fee-4cd9-a2e3-8a778da80754" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:to="loc_us-gaap_PerformanceSharesMember_37653aab-0fee-4cd9-a2e3-8a778da80754" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_550a16e3-1ae4-4821-99c4-ab436b85f6c9_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_550a16e3-1ae4-4821-99c4-ab436b85f6c9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_2fab3e42-dada-479f-8158-d31fbb97f1ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_2fab3e42-dada-479f-8158-d31fbb97f1ff" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:to="loc_srt_RangeMember_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:to="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_083d3d86-a414-47eb-b17d-d0b1357483b8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:to="loc_srt_MinimumMember_083d3d86-a414-47eb-b17d-d0b1357483b8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_7ddad158-a8e9-44c1-8ddd-3f0dbd1a18ad" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:to="loc_srt_MaximumMember_7ddad158-a8e9-44c1-8ddd-3f0dbd1a18ad" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="extended" id="idf38041db3c54187a1dfc2b61aae0d45_SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f873b431-0e42-442c-8fb2-c29c2329588f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f873b431-0e42-442c-8fb2-c29c2329588f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7de11f2e-3917-4e44-8373-e9dfd97bd0b9_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7de11f2e-3917-4e44-8373-e9dfd97bd0b9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_0eb8c354-4095-4b60-9c6a-3bab465f8442" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_ComputerEquipmentMember_0eb8c354-4095-4b60-9c6a-3bab465f8442" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_c8cba6c4-4711-4e84-8d10-ffcffa74fe95" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_c8cba6c4-4711-4e84-8d10-ffcffa74fe95" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_9a5f31bd-ec3c-418b-b012-33a2a9f855a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_OfficeEquipmentMember_9a5f31bd-ec3c-418b-b012-33a2a9f855a8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:to="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a1197efe-43f1-478a-b7ae-0e70614e2f3d_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:to="loc_srt_RangeMember_a1197efe-43f1-478a-b7ae-0e70614e2f3d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:to="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_fe4628d3-0620-4b9c-b443-ab61314d2d1f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:to="loc_srt_MinimumMember_fe4628d3-0620-4b9c-b443-ab61314d2d1f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_88655645-b13e-4fff-afba-943f90fd0a43" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:to="loc_srt_MaximumMember_88655645-b13e-4fff-afba-943f90fd0a43" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended" id="idd5c0386f8884ce1bf5d75267284ad60_SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="extended" id="i80055c1578554228b59dee444079d680_SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_90c4c728-646f-4b1f-b1c2-b3ccd736a705" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_90c4c728-646f-4b1f-b1c2-b3ccd736a705" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_8375fad1-bff4-4018-ac15-7f07d0ada8aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_8375fad1-bff4-4018-ac15-7f07d0ada8aa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_36e3a7f6-d53a-4f8f-9862-86615bbd703c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_36e3a7f6-d53a-4f8f-9862-86615bbd703c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:to="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_5e9228d2-370b-415a-b7fb-7a5f90aa3567_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:to="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_5e9228d2-370b-415a-b7fb-7a5f90aa3567_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:to="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_83288555-7810-4ae7-b43d-6c810ff16ae7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:to="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_83288555-7810-4ae7-b43d-6c810ff16ae7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_2c4bf791-585e-49c4-8e4e-cc2d95b4e6fa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:to="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_2c4bf791-585e-49c4-8e4e-cc2d95b4e6fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_a4fe9aca-eb70-4476-b549-908e469ce24a_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:to="loc_us-gaap_TypeOfAdoptionMember_a4fe9aca-eb70-4476-b549-908e469ce24a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:to="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201409Member_a2d86e2d-1697-423f-9694-7fc9e1f62548" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:to="loc_us-gaap_AccountingStandardsUpdate201409Member_a2d86e2d-1697-423f-9694-7fc9e1f62548" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="extended" id="idaa250a3be88409f8ec77051670c004a_SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:to="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e2565043-5614-4a54-87c4-5cbd5265fd2e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e2565043-5614-4a54-87c4-5cbd5265fd2e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_01c3c344-a5d8-456a-8963-168d140d0f22" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_01c3c344-a5d8-456a-8963-168d140d0f22" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_025b1633-79bc-4246-8134-79f970604257" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_025b1633-79bc-4246-8134-79f970604257" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_2f6d24da-a443-43f0-a851-8e0911349f41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OperatingLeaseLiability_2f6d24da-a443-43f0-a851-8e0911349f41" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_999b26fe-ebdb-4681-b56e-34e5cccba9d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_999b26fe-ebdb-4681-b56e-34e5cccba9d0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_1bb03b9f-7730-435d-8d47-4dd6ace5c535_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:to="loc_us-gaap_TypeOfAdoptionMember_1bb03b9f-7730-435d-8d47-4dd6ace5c535_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:to="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201602Member_b49ae35c-2acf-402f-a9d8-fd4b235cce5f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:to="loc_us-gaap_AccountingStandardsUpdate201602Member_b49ae35c-2acf-402f-a9d8-fd4b235cce5f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinations"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="extended" id="ica022525fd504549938a114a4dc4ef4e_DivesturesandBusinessCombinations"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/Tables" xlink:type="simple" xlink:href="appf-20201231.xsd#Tables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/Tables" xlink:type="extended" id="ie067eda01310479fa0bcc2d389465764_Tables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinationsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="extended" id="i786149fb0ff544a7b351c3475ef97a5d_DivesturesandBusinessCombinationsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_45c92b27-061b-4c77-9cdd-fcbb1fd1a40c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_45c92b27-061b-4c77-9cdd-fcbb1fd1a40c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_e548350f-0206-4b94-89ca-0e211034f8e4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_e548350f-0206-4b94-89ca-0e211034f8e4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_f01c4911-4407-4368-8a2e-16e61d31bdaa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_f01c4911-4407-4368-8a2e-16e61d31bdaa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation_14c2a005-e3d3-425e-bba4-51c558d1c144" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_CashDivestedFromDeconsolidation_14c2a005-e3d3-425e-bba4-51c558d1c144" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_352d180d-69d6-4465-ab94-bad31d531ac3" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_352d180d-69d6-4465-ab94-bad31d531ac3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_4fb603eb-0985-48f1-8ae6-478fc9ca5a2e" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_4fb603eb-0985-48f1-8ae6-478fc9ca5a2e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ac228b7c-8ca4-4be5-aa41-246af3e4ec45" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ac228b7c-8ca4-4be5-aa41-246af3e4ec45" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_2b15caed-d673-4444-b414-38f8ba49810e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_2b15caed-d673-4444-b414-38f8ba49810e" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_4f6f5732-cbfe-4941-9f69-7eeb303719dd" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_4f6f5732-cbfe-4941-9f69-7eeb303719dd" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_d302158d-a574-4949-bfee-5cdfa2a7b97d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_d302158d-a574-4949-bfee-5cdfa2a7b97d" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_f6807be0-34f9-436e-9b9b-6be8a48f8315" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_f6807be0-34f9-436e-9b9b-6be8a48f8315" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_f120411c-3ff9-4cff-91e0-163d8f4e863b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_f120411c-3ff9-4cff-91e0-163d8f4e863b" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_08c94b11-9897-469f-8eb0-5b145e0581ac" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_08c94b11-9897-469f-8eb0-5b145e0581ac" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_d0974fa2-4ff8-473f-8992-5e52773f6334" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTotalPriorToAdjustments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_d0974fa2-4ff8-473f-8992-5e52773f6334" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount_b916024e-72fe-4878-9d5a-58a58ea3130a" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTransferredEscrowAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount_b916024e-72fe-4878-9d5a-58a58ea3130a" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_f947bfd2-7e1d-4fe3-9438-fd56ae110576" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_f947bfd2-7e1d-4fe3-9438-fd56ae110576" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_4eebd279-83c0-43e9-9278-162b0ae28aec_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_4eebd279-83c0-43e9-9278-162b0ae28aec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_a72c4a01-5d15-433d-bdae-37d3b6248d18" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:to="loc_appf_MyCaseMember_a72c4a01-5d15-433d-bdae-37d3b6248d18" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_4c8352db-9ec1-4759-9a3c-09c0e7834439_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_4c8352db-9ec1-4759-9a3c-09c0e7834439_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_81ea7540-f2af-4872-8853-dc90b3620551" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_81ea7540-f2af-4872-8853-dc90b3620551" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_657d623f-4a77-417b-93ff-921562501ca7_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_657d623f-4a77-417b-93ff-921562501ca7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DynastyMarketplaceInc.Member_f37e481d-78aa-46c5-80c1-843be2fd17b5" xlink:href="appf-20201231.xsd#appf_DynastyMarketplaceInc.Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:to="loc_appf_DynastyMarketplaceInc.Member_f37e481d-78aa-46c5-80c1-843be2fd17b5" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsPurchasePriceAllocationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="extended" id="idd41a24c094248ed972eb18cc87be021_BusinessCombinationsPurchasePriceAllocationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_31c39539-c8d9-4785-a4e9-d47c8c318de1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_31c39539-c8d9-4785-a4e9-d47c8c318de1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_5e74b1d0-c98c-43c8-9846-55ad0210f98e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_5e74b1d0-c98c-43c8-9846-55ad0210f98e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_56387b88-c10d-4222-be02-2dd3f3e1a0cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_56387b88-c10d-4222-be02-2dd3f3e1a0cd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d718161b-2c8a-40b6-8dcb-735c37bc4c49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_Goodwill_d718161b-2c8a-40b6-8dcb-735c37bc4c49" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_9bbfbc61-5e21-42f0-b5e1-a1eb96ef2000" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_9bbfbc61-5e21-42f0-b5e1-a1eb96ef2000" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2019df78-85de-4f76-9a2a-03753a480f99" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2019df78-85de-4f76-9a2a-03753a480f99" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_70d24b35-1a26-427b-befc-443f586a813b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_70d24b35-1a26-427b-befc-443f586a813b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_4f32f069-4646-46aa-818b-725f292fd289" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_4f32f069-4646-46aa-818b-725f292fd289" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_fd1af01f-9047-4d35-ad3c-52f57c189be8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_fd1af01f-9047-4d35-ad3c-52f57c189be8" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_731b5929-020c-4ea6-b4e7-4d9a2f76df88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_731b5929-020c-4ea6-b4e7-4d9a2f76df88" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_58d44474-042e-4256-b23b-47a230401e0c_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_58d44474-042e-4256-b23b-47a230401e0c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DynastyMarketplaceInc.Member_b7a72a58-c2d0-4c48-961d-1e9045cf5f31" xlink:href="appf-20201231.xsd#appf_DynastyMarketplaceInc.Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:to="loc_appf_DynastyMarketplaceInc.Member_b7a72a58-c2d0-4c48-961d-1e9045cf5f31" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_abd5d43b-a14b-47ee-9101-5ec16c0723f2_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_abd5d43b-a14b-47ee-9101-5ec16c0723f2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_ea47560a-47ea-487b-9466-57a453d13e1e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_ea47560a-47ea-487b-9466-57a453d13e1e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DatabasesMember_e2a39a61-a940-4e81-b879-8a80ba751652" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DatabasesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_DatabasesMember_e2a39a61-a940-4e81-b879-8a80ba751652" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_b5d16d41-2be3-4d58-978d-cf229eed13f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_CustomerRelationshipsMember_b5d16d41-2be3-4d58-978d-cf229eed13f0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_68524e38-14b9-4973-b846-7b7ae01adf77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_68524e38-14b9-4973-b846-7b7ae01adf77" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_9277bbac-e355-4123-b023-1a992347c20f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_9277bbac-e355-4123-b023-1a992347c20f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_f97c2674-d111-43df-b419-7fc5d531b438" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_f97c2674-d111-43df-b419-7fc5d531b438" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsProFormaInformationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="extended" id="ic262f6ba63e14779a32d6c628d08ebf5_BusinessCombinationsProFormaInformationDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurements"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="extended" id="iaaae9dd7dc0b46b98a852ac22c0e1986_InvestmentSecuritiesandFairValueMeasurements"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="extended" id="i154437b2c54542d7a8acd30dd6c33258_InvestmentSecuritiesandFairValueMeasurementsTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="extended" id="i387f2e98c1cf4d868eca939da6b88d62_InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_a231aea7-3e22-4c96-a5f9-73ff76b85139" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_a231aea7-3e22-4c96-a5f9-73ff76b85139" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_605fe5bc-b6f4-41e4-bf6d-1383d0b73462" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_605fe5bc-b6f4-41e4-bf6d-1383d0b73462" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_79533496-7805-4af9-8411-25022a5d5056" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_79533496-7805-4af9-8411-25022a5d5056" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_03baf72d-e675-42f2-b03c-25036dd4c8d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_03baf72d-e675-42f2-b03c-25036dd4c8d0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_eba8acf7-3911-485e-9a8d-c0b585580bd0" xlink:href="appf-20201231.xsd#appf_AvailableForSaleSecuritiesMaximumContractualMaturity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_eba8acf7-3911-485e-9a8d-c0b585580bd0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_233f30fe-6433-4683-b4af-a48da8184e59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_233f30fe-6433-4683-b4af-a48da8184e59" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_bcf4c6aa-b781-46d7-8fc1-3b4803568541" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_bcf4c6aa-b781-46d7-8fc1-3b4803568541" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_0470217b-cef5-4549-ad32-2a8000a1dec1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_0470217b-cef5-4549-ad32-2a8000a1dec1" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_71836c2c-7c26-4c76-baf2-dd39b2eb263b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_71836c2c-7c26-4c76-baf2-dd39b2eb263b" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_1a5b2fba-4121-4b47-922d-85b52c37c3e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_1a5b2fba-4121-4b47-922d-85b52c37c3e0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_6c45c91e-0658-40c9-9292-9bc30e7f30e8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_AgencySecuritiesMember_6c45c91e-0658-40c9-9292-9bc30e7f30e8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_ac9a6a9c-f00c-4c4f-8766-d8e3b3d295ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_ac9a6a9c-f00c-4c4f-8766-d8e3b3d295ce" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="extended" id="i69ea72b83cfd4dd2aff34ba6a5278978_InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_11e30b8b-1e62-4554-b78a-dd8bd2576b77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_11e30b8b-1e62-4554-b78a-dd8bd2576b77" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_bcb50f0f-86d7-411d-ab43-4bfe69566b1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_bcb50f0f-86d7-411d-ab43-4bfe69566b1f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_a95bd598-b7e1-47c3-8762-ccfd69136e41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_a95bd598-b7e1-47c3-8762-ccfd69136e41" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e62543a6-4f0c-4baf-a455-96e211a73e49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e62543a6-4f0c-4baf-a455-96e211a73e49" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:to="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c388f940-0463-4c13-af41-7ceb710c546b_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c388f940-0463-4c13-af41-7ceb710c546b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_a125dd9d-aa43-4781-9045-af441753aaf0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_a125dd9d-aa43-4781-9045-af441753aaf0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_226f6e20-f7d0-4fa9-b9b6-dec642e13821" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_AgencySecuritiesMember_226f6e20-f7d0-4fa9-b9b6-dec642e13821" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1f9197ba-1e06-442b-a6de-4d127c3f08d2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1f9197ba-1e06-442b-a6de-4d127c3f08d2" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="extended" id="ic56df2fc56cd4fb2bd4b9240e2d69da2_InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d61f4ee7-6ca6-4549-ae3c-924d0c6fc1ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d61f4ee7-6ca6-4549-ae3c-924d0c6fc1ad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFairValue_e9aa9733-768d-405f-be2d-1f72ed04567c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:to="loc_us-gaap_DebtInstrumentFairValue_e9aa9733-768d-405f-be2d-1f72ed04567c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_f930e87b-8769-41f7-a215-35775e5a6943_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_f930e87b-8769-41f7-a215-35775e5a6943_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_a6c86b76-6511-40da-8a07-defa7407b45a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_a6c86b76-6511-40da-8a07-defa7407b45a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_a62ff6ef-d415-4180-8a20-556ab8cab478_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_a62ff6ef-d415-4180-8a20-556ab8cab478_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:to="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_511c5db3-4c46-4727-b743-97430883405a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_511c5db3-4c46-4727-b743-97430883405a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_9b0226dc-74a1-4ca4-a153-c79b233f11c8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:to="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_9b0226dc-74a1-4ca4-a153-c79b233f11c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_0b1e7abf-fb4d-4833-80f5-731988bfcb3a_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_0b1e7abf-fb4d-4833-80f5-731988bfcb3a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_eb8e22cb-203c-472d-be9c-7f122c0cd830" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:to="loc_us-gaap_SecuredDebtMember_eb8e22cb-203c-472d-be9c-7f122c0cd830" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_9aa1f113-42bb-4796-be51-2ac344fc220f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:to="loc_us-gaap_LineOfCreditMember_9aa1f113-42bb-4796-be51-2ac344fc220f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_57b0ea3d-9e2e-4ad7-b841-693b45c9e889_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:to="loc_us-gaap_CreditFacilityDomain_57b0ea3d-9e2e-4ad7-b841-693b45c9e889_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:to="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_c8fa904a-41ee-47c7-b9a1-d45b40473270" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_c8fa904a-41ee-47c7-b9a1-d45b40473270" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="extended" id="if44a36ced9f044e680c3c689c9ce8291_InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_3a4c5ece-1f04-434b-92cb-fed74c591a94" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_3a4c5ece-1f04-434b-92cb-fed74c591a94" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d8bd939e-2bf4-4774-869e-e3252d6bfbf7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d8bd939e-2bf4-4774-869e-e3252d6bfbf7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e53c4c63-0cb2-401b-bbe2-4dad23b16d32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e53c4c63-0cb2-401b-bbe2-4dad23b16d32" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_6799c21f-6e68-41b6-87e5-655970bfe52a_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_6799c21f-6e68-41b6-87e5-655970bfe52a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_020b47f2-dfeb-4ce6-a209-30a892b0a6f6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_020b47f2-dfeb-4ce6-a209-30a892b0a6f6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_b97f6e9b-85d6-478b-afad-8221ff7185de_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_b97f6e9b-85d6-478b-afad-8221ff7185de_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_228bb3a7-744e-416d-94cf-30aeed013a0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_228bb3a7-744e-416d-94cf-30aeed013a0e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_df25a1d1-4b8c-4a23-91d1-fffb7f61358a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_df25a1d1-4b8c-4a23-91d1-fffb7f61358a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_8864facd-e5b5-44fd-836a-452e512faae5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_8864facd-e5b5-44fd-836a-452e512faae5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e729dea9-a5b6-43f7-8c5e-5d5c79006ac7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e729dea9-a5b6-43f7-8c5e-5d5c79006ac7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_f42dd389-93ba-4d8a-bb6e-af2da0805084" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_f42dd389-93ba-4d8a-bb6e-af2da0805084" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10b565c3-24b8-400e-8de0-12e0d270edde_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10b565c3-24b8-400e-8de0-12e0d270edde_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6e2bf52d-c7df-4fdf-8da4-1068d68d61d2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6e2bf52d-c7df-4fdf-8da4-1068d68d61d2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_7f593b82-c849-4ecb-b9f7-d8654ba5e51c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_AgencySecuritiesMember_7f593b82-c849-4ecb-b9f7-d8654ba5e51c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_d76c7d7d-835a-4acf-8646-e1ccbd4534af" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_d76c7d7d-835a-4acf-8646-e1ccbd4534af" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnet"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="extended" id="ib03b03c0a0324248b9fbee4dc13f741a_PropertyandEquipmentnet"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="extended" id="i2d0557372d5a4105b069cb732d5f36d6_PropertyandEquipmentnetTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="extended" id="i96ef0f1648344dec961de9cc36b455a9_PropertyandEquipmentnetDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_8e370eb8-43a0-4ceb-ab2a-219646c6b909" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_8e370eb8-43a0-4ceb-ab2a-219646c6b909" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_18363793-fab8-4b47-a299-6b0a7be17d67" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_18363793-fab8-4b47-a299-6b0a7be17d67" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_27914453-f2d8-4a7b-9d7e-b8d8e5592e9f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_27914453-f2d8-4a7b-9d7e-b8d8e5592e9f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_b2d2df2e-dcd9-4991-944a-d7b9c2bae2e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_Depreciation_b2d2df2e-dcd9-4991-944a-d7b9c2bae2e3" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_18abffbd-fab3-4112-86a5-67a7ea3af2c0_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_18abffbd-fab3-4112-86a5-67a7ea3af2c0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DataCenterAndComputerEquipmentMember_dbe4474d-8ae2-4531-aeec-e8dfb896bb40" xlink:href="appf-20201231.xsd#appf_DataCenterAndComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_appf_DataCenterAndComputerEquipmentMember_dbe4474d-8ae2-4531-aeec-e8dfb896bb40" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_37e1a2a5-fb6c-4895-bbf4-04353d9aaacf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_37e1a2a5-fb6c-4895-bbf4-04353d9aaacf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_54ccf689-60ad-402b-bc81-2b03e4c88fd2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_OfficeEquipmentMember_54ccf689-60ad-402b-bc81-2b03e4c88fd2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_102cc23a-dbd5-4851-9ac3-efd177cc707e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_102cc23a-dbd5-4851-9ac3-efd177cc707e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember_0b1a60cc-a0c0-45ec-b8cb-e26e4c387b13" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_ConstructionInProgressMember_0b1a60cc-a0c0-45ec-b8cb-e26e4c387b13" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_97bd3486-032e-45ef-9f64-0969ef7f5096" xlink:href="appf-20201231.xsd#appf_FurnitureAndFixturesAndLeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_97bd3486-032e-45ef-9f64-0969ef7f5096" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnet"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="extended" id="i4327740f990a4e4e9a2fa43ac8bf4409_CapitalizedSoftwareDevelopmentCostsnet"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="extended" id="iaf67186970bf408a946a22dcea71f662_CapitalizedSoftwareDevelopmentCostsnetTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="extended" id="i9c4e48b650d848b59e236ea18a03f904_CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="extended" id="i471da5dfc9754e0aa9d3d28a878fc41d_CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions_f3c14d41-a3ef-4730-9387-ced227e5b0ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAdditions_f3c14d41-a3ef-4730-9387-ced227e5b0ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_61f5ab5a-e696-4dfc-b677-396591f78732" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_61f5ab5a-e696-4dfc-b677-396591f78732" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_3d4049d8-5b32-46e1-be8e-a64b2a388420" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_3d4049d8-5b32-46e1-be8e-a64b2a388420" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_68584000-5f9a-4454-8156-cdfd109be284_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_68584000-5f9a-4454-8156-cdfd109be284_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_143920c4-b26b-4590-a120-1a4996af883a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_143920c4-b26b-4590-a120-1a4996af883a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_553f03f7-04c6-41dc-801e-612d06450b31_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_553f03f7-04c6-41dc-801e-612d06450b31_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_eb7a7d0e-4192-45c8-b08f-03f1416dc7c0" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:to="loc_appf_MyCaseMember_eb7a7d0e-4192-45c8-b08f-03f1416dc7c0" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="extended" id="i0bec039055084fbe9ee2a86e2eccf954_CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwill"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="extended" id="i2b132ef4a8034989a6fef13e2ba1a79b_IntangibleAssetsnetandGoodwill"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="extended" id="i859416edf829466bae23e9be12c1d65f_IntangibleAssetsnetandGoodwillTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="extended" id="i63f6f2a791264a08b2d283cd0b4d9a48_IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_65f168fd-bd77-45df-a9f7-6514ecf26ab1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_65f168fd-bd77-45df-a9f7-6514ecf26ab1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2d4d6247-6910-4afa-aa4e-e7aa8d22b9cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2d4d6247-6910-4afa-aa4e-e7aa8d22b9cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_69ba3b55-849d-4fa7-9ef3-0dce3c8b4138" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_69ba3b55-849d-4fa7-9ef3-0dce3c8b4138" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_3154513f-cc90-4e3e-9276-e1acadae74a6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_3154513f-cc90-4e3e-9276-e1acadae74a6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_226844dc-fea0-4830-9c7a-38f6ccb96140_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_226844dc-fea0-4830-9c7a-38f6ccb96140_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_7c27974b-f031-4af1-925a-1a4e39d9eea9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_CustomerRelationshipsMember_7c27974b-f031-4af1-925a-1a4e39d9eea9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember_db70199a-aab7-4603-9d29-09efc260141a" xlink:href="appf-20201231.xsd#appf_DatabaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_DatabaseMember_db70199a-aab7-4603-9d29-09efc260141a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember_6396ead9-d479-43a3-be98-19b9874276c7" xlink:href="appf-20201231.xsd#appf_TechnologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_TechnologyMember_6396ead9-d479-43a3-be98-19b9874276c7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_f2ccec10-e4c1-43e3-bddc-070280e071a0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_f2ccec10-e4c1-43e3-bddc-070280e071a0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember_03667b62-d8bf-4e7e-b48b-a5e2105d169f" xlink:href="appf-20201231.xsd#appf_PartnerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_PartnerRelationshipsMember_03667b62-d8bf-4e7e-b48b-a5e2105d169f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_3a2ca08c-9718-461c-b133-ea508ab175f7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_3a2ca08c-9718-461c-b133-ea508ab175f7" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember_7adcb88f-28f1-49d0-a84b-36f407c4fa59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_InternetDomainNamesMember_7adcb88f-28f1-49d0-a84b-36f407c4fa59" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_18b8dc8a-e1d9-4541-b213-0559447e9105" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_PatentsMember_18b8dc8a-e1d9-4541-b213-0559447e9105" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_0b6542de-4e8d-487d-b3aa-3be528c09950" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_0b6542de-4e8d-487d-b3aa-3be528c09950" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:to="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_95a87761-9114-4eb4-bfbb-66c37c2752bd_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:to="loc_srt_RangeMember_95a87761-9114-4eb4-bfbb-66c37c2752bd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:to="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_5910f315-9767-44b0-9f0b-82dceeca2705" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_WeightedAverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:to="loc_srt_WeightedAverageMember_5910f315-9767-44b0-9f0b-82dceeca2705" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="extended" id="i2b2c59af560c4ec89d5438f08075e2f9_IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="extended" id="i2b793928061d4874bc1edcd51911a5fd_IntangibleAssetsnetandGoodwillGoodwillDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpenses"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="extended" id="i9bd02e67438d4611a0bebe1723ae2fb7_AccruedEmployeeExpenses"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="extended" id="iabaaefcebb084dc085255e2f477ef927_AccruedEmployeeExpensesTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="extended" id="i859985ce73c6472589a35f29ffe93e56_AccruedEmployeeExpensesDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/Leases" xlink:type="simple" xlink:href="appf-20201231.xsd#Leases"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/Leases" xlink:type="extended" id="i780f3bd71cbc4301aced2364fd360651_Leases"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesTables" xlink:type="extended" id="i0f2ec38e3c4c4fd48edf6da696386481_LeasesTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesDetails" xlink:type="extended" id="i626121a06da44a38a1e295acd2a584fd_LeasesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f49ee7c3-a48d-47a2-8672-77f82001656b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f49ee7c3-a48d-47a2-8672-77f82001656b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_648e6c25-7087-46e6-9ebd-f28e0c9819ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_648e6c25-7087-46e6-9ebd-f28e0c9819ff" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_8627aafc-c8a5-4254-86bc-11995dae2239" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_OperatingLeaseCost_8627aafc-c8a5-4254-86bc-11995dae2239" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_5485dfaa-9cd6-47cf-af9f-68efa8870025" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_VariableLeaseCost_5485dfaa-9cd6-47cf-af9f-68efa8870025" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseAndRentalExpense_609d7106-bb93-40e4-8b9f-0dbe2f0ada72" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseAndRentalExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LeaseAndRentalExpense_609d7106-bb93-40e4-8b9f-0dbe2f0ada72" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_ee2ca0bd-9ad3-4f31-a3a7-73a5d11f60cd" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseSquareFeetOfLeasedArea"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_ee2ca0bd-9ad3-4f31-a3a7-73a5d11f60cd" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_787c2104-1db3-4911-998a-a393a7a26836" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_OperatingLeaseLiability_787c2104-1db3-4911-998a-a393a7a26836" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:to="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:to="loc_srt_RangeMember_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:to="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_6b1489c0-e6de-4577-8657-580281f155ce" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:to="loc_srt_MinimumMember_6b1489c0-e6de-4577-8657-580281f155ce" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1623ca40-cfc3-42ed-ad37-41ccb3fee49f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:to="loc_srt_MaximumMember_1623ca40-cfc3-42ed-ad37-41ccb3fee49f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RichardsonTexasMember_c2a7f5dc-228d-4e43-a8ba-0ac5f03c2997" xlink:href="appf-20201231.xsd#appf_RichardsonTexasMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:to="loc_appf_RichardsonTexasMember_c2a7f5dc-228d-4e43-a8ba-0ac5f03c2997" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofComponentsofLeaseexpenseDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="extended" id="ia1ec0d841bc946a48f4281e0bffdd7bc_LeasesScheduleofComponentsofLeaseexpenseDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="extended" id="i47854eab26dd46ed9ba20ca19ef872e5_LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c347b9cc-77d3-4f44-9bdc-a696a070b3bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c347b9cc-77d3-4f44-9bdc-a696a070b3bd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_e6a75c3b-3251-4a70-99e4-6c2e70326fa8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_e6a75c3b-3251-4a70-99e4-6c2e70326fa8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_453b12b1-ff7d-4c98-b130-e9b9c74a5ce0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_453b12b1-ff7d-4c98-b130-e9b9c74a5ce0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4bd26c1f-e1f7-498a-aede-75d788079d49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4bd26c1f-e1f7-498a-aede-75d788079d49" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_4e17d8ff-9b90-4cc8-b25b-8da8b8258b19" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_4e17d8ff-9b90-4cc8-b25b-8da8b8258b19" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_a3c3d122-25e2-4652-a477-0f03629a7dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_a3c3d122-25e2-4652-a477-0f03629a7dc9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_187094e1-c879-428a-9915-9eb4d709b1cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_187094e1-c879-428a-9915-9eb4d709b1cd" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_e2c5bf13-529c-4268-98ae-2fe2a992b889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_e2c5bf13-529c-4268-98ae-2fe2a992b889" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_203bc387-f646-477f-be17-1796d8665beb" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_203bc387-f646-477f-be17-1796d8665beb" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TenantImprovementAllowance_0431ed88-87fd-4ff7-9c41-bce895e3155c" xlink:href="appf-20201231.xsd#appf_TenantImprovementAllowance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_appf_TenantImprovementAllowance_0431ed88-87fd-4ff7-9c41-bce895e3155c" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_3ec14bfa-cf61-4279-8b2e-a6e5a9fb44bc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_3ec14bfa-cf61-4279-8b2e-a6e5a9fb44bc" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_58feea42-3e44-4f35-b531-0cc274b99f0e_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_58feea42-3e44-4f35-b531-0cc274b99f0e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_7838043f-907d-49d3-8f6b-908a0cc39fe3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_7838043f-907d-49d3-8f6b-908a0cc39fe3" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebt" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebt"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LongtermDebt" xlink:type="extended" id="i4344296da60f4a65bb5143f9d6d11e95_LongtermDebt"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="extended" id="ia397f62ee6b64592bf92104f22006973_LongtermDebtTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="extended" id="if19cb69cd9b240cfbe84ee706c185881_LongtermDebtDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d9f79b36-de87-4bf6-80b4-8a496e0f4015" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d9f79b36-de87-4bf6-80b4-8a496e0f4015" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_eadf401d-8a68-4b9c-b755-404a9c5f09ea" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_eadf401d-8a68-4b9c-b755-404a9c5f09ea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_8665bbee-e289-493b-9649-0be5c3590ada" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_8665bbee-e289-493b-9649-0be5c3590ada" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_944fa032-2ff8-4f4d-81f6-d3832f9422bb" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_944fa032-2ff8-4f4d-81f6-d3832f9422bb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_4a741828-e905-4887-a2b8-690bc1d9946c" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_4a741828-e905-4887-a2b8-690bc1d9946c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_0ca23288-10be-423c-a0b4-f7fd3bc32c68" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_0ca23288-10be-423c-a0b4-f7fd3bc32c68" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_e38afa11-a9f3-4341-a9df-43c18172bcdc" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_e38afa11-a9f3-4341-a9df-43c18172bcdc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3ca8ba47-ce50-477a-ac79-88f55326fad4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3ca8ba47-ce50-477a-ac79-88f55326fad4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_df836be8-4a1b-41c3-b204-3721dbb6117f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_df836be8-4a1b-41c3-b204-3721dbb6117f" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_15a8ad9a-e8e0-4155-b915-dcd264d39fa9" xlink:href="appf-20201231.xsd#appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_15a8ad9a-e8e0-4155-b915-dcd264d39fa9" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_da4d4936-eec1-42db-80f3-23f22613e12b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_da4d4936-eec1-42db-80f3-23f22613e12b" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_f53bfe1b-33b9-43c3-a921-56dcb9fe6dbe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_f53bfe1b-33b9-43c3-a921-56dcb9fe6dbe" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_030ae499-b1a8-45f4-9e52-97badc60a372" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_030ae499-b1a8-45f4-9e52-97badc60a372" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_0d80a713-755c-4507-8c68-6e4d1d7945af_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_0d80a713-755c-4507-8c68-6e4d1d7945af_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMember_e03405b9-95d4-4dff-95cd-3071e56cefd4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:to="loc_us-gaap_OtherAssetsMember_e03405b9-95d4-4dff-95cd-3071e56cefd4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_00720208-8c65-48de-8ee2-5b746c8c606c_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_00720208-8c65-48de-8ee2-5b746c8c606c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_a54fa5be-be57-4046-88f0-92aa75b1fde4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:to="loc_us-gaap_LineOfCreditMember_a54fa5be-be57-4046-88f0-92aa75b1fde4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_ac81bd30-2a08-47fb-8ed8-efaa2d760882_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:to="loc_us-gaap_CreditFacilityDomain_ac81bd30-2a08-47fb-8ed8-efaa2d760882_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:to="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_019498ac-3eee-4caf-9c89-411ceeda0fdf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:to="loc_us-gaap_SecuredDebtMember_019498ac-3eee-4caf-9c89-411ceeda0fdf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_2f655f74-5e87-4e41-8dee-ada40c89d712" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_2f655f74-5e87-4e41-8dee-ada40c89d712" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_be9e5b90-d49b-4445-9f74-53276dc8a5ca_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:to="loc_us-gaap_VariableRateDomain_be9e5b90-d49b-4445-9f74-53276dc8a5ca_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:to="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember_b76863cd-de20-4da8-accc-24d6dd2422ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:to="loc_us-gaap_FederalFundsEffectiveSwapRateMember_b76863cd-de20-4da8-accc-24d6dd2422ef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_6ce9011b-8c88-4013-bca5-f4e74d5349d8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_6ce9011b-8c88-4013-bca5-f4e74d5349d8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_49de573e-1e79-405a-b717-78720f67f38b_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:to="loc_srt_RangeMember_49de573e-1e79-405a-b717-78720f67f38b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:to="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d5068d44-17a4-4047-8e2e-3ed0d1060e92" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:to="loc_srt_MinimumMember_d5068d44-17a4-4047-8e2e-3ed0d1060e92" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_64f525d2-780c-4d65-85cd-3f2329a786ca" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:to="loc_srt_MaximumMember_64f525d2-780c-4d65-85cd-3f2329a786ca" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtSummaryofLongtemDebtDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="extended" id="i92ae0b087a7e457d89f81fc01a5865cc_LongtermDebtSummaryofLongtemDebtDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_e4489339-0ec7-4f07-b8c1-81901e7686d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_e4489339-0ec7-4f07-b8c1-81901e7686d4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_cf5522e9-5a24-4fae-b192-0b7d4e1d36cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_cf5522e9-5a24-4fae-b192-0b7d4e1d36cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_03e45529-926c-45f7-8db6-3968f101f3f7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_LongTermDebt_03e45529-926c-45f7-8db6-3968f101f3f7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:to="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_0d059261-3c96-4fa9-a24e-78be677ab49d_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:to="loc_us-gaap_CreditFacilityDomain_0d059261-3c96-4fa9-a24e-78be677ab49d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:to="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_8c5b3171-c81d-4575-9d5d-74f2a955d70b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:to="loc_us-gaap_SecuredDebtMember_8c5b3171-c81d-4575-9d5d-74f2a955d70b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_51d351fb-f643-4d08-af61-ae54743ba128_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_51d351fb-f643-4d08-af61-ae54743ba128_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_a7f1a44d-0559-4c61-a5db-5356e41b2646" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:to="loc_us-gaap_LineOfCreditMember_a7f1a44d-0559-4c61-a5db-5356e41b2646" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingencies"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="extended" id="i13c7d6c9cb3546a49875a286d54290a6_CommitmentandContingencies"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingenciesAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="extended" id="i0ebe6c9e307145e79e6e21ffe92872de_CommitmentandContingenciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_19455d30-deee-432e-9979-ddd8fabe0960" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_19455d30-deee-432e-9979-ddd8fabe0960" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_e98a7479-9b9e-483e-b34f-b06fcab83b4f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_e98a7479-9b9e-483e-b34f-b06fcab83b4f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_fdea002a-b3a1-4043-b037-9a9c42a52fde" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_fdea002a-b3a1-4043-b037-9a9c42a52fde" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_fac0cd5b-e229-4189-9f43-c02af635b0ac" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_fac0cd5b-e229-4189-9f43-c02af635b0ac" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyEstimateOfPossibleLoss_4375f2d2-ebfb-42c6-aeee-7feffcf0c0cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyEstimateOfPossibleLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LossContingencyEstimateOfPossibleLoss_4375f2d2-ebfb-42c6-aeee-7feffcf0c0cc" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyAccrualAtCarryingValue_822941c4-2cb0-4f35-af86-74401cf82c1d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LossContingencyAccrualAtCarryingValue_822941c4-2cb0-4f35-af86-74401cf82c1d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForLegalSettlements_308ef37e-d359-4ca3-a0e9-2e298b930853" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForLegalSettlements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_PaymentsForLegalSettlements_308ef37e-d359-4ca3-a0e9-2e298b930853" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_c64003b9-a009-42da-8137-9343f35cefbb_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_c64003b9-a009-42da-8137-9343f35cefbb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember_f31d749c-4078-4c94-8b9d-101b0ab143c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:to="loc_us-gaap_OtherCurrentLiabilitiesMember_f31d749c-4078-4c94-8b9d-101b0ab143c4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_9e4bec63-5338-4eb8-bec9-280301b03fec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_9e4bec63-5338-4eb8-bec9-280301b03fec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_8aeb5f04-472f-4ac1-a85d-775b9fc5565f_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_8aeb5f04-472f-4ac1-a85d-775b9fc5565f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_1af0319d-87c9-4356-a8ee-bc6d92eadb1d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:to="loc_us-gaap_SubsequentEventMember_1af0319d-87c9-4356-a8ee-bc6d92eadb1d" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquity" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockholdersEquity" xlink:type="extended" id="i6bf103891bbd41789a9e8732738df56b_StockholdersEquity"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="extended" id="id19fb67f8d93490a8df68a3888553d2d_StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalUnitsAuthorized_1bf48fe8-4b8c-4ee7-bcd9-ee577c0005f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalUnitsAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CapitalUnitsAuthorized_1bf48fe8-4b8c-4ee7-bcd9-ee577c0005f0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_00fce947-f23e-443f-b013-d08510091d0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_00fce947-f23e-443f-b013-d08510091d0c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_5e759bf5-3006-4726-879b-dcaf23e2bfc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_5e759bf5-3006-4726-879b-dcaf23e2bfc5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_c619e2a1-7ddd-4f5f-940b-4361d8d27a42" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_c619e2a1-7ddd-4f5f-940b-4361d8d27a42" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_3b863c4b-4e61-4853-878d-293ecacb9580_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:to="loc_us-gaap_EquityComponentDomain_3b863c4b-4e61-4853-878d-293ecacb9580_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:to="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_48648da1-e266-4b05-8cc1-fc3ecc3d8509" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:to="loc_us-gaap_CommonStockMember_48648da1-e266-4b05-8cc1-fc3ecc3d8509" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_efb23fac-1ba3-4b03-bf61-b47980bec6ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:to="loc_us-gaap_PreferredStockMember_efb23fac-1ba3-4b03-bf61-b47980bec6ad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:to="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_319eadd2-7a0a-4b49-947b-b547061fb81c_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:to="loc_us-gaap_ClassOfStockDomain_319eadd2-7a0a-4b49-947b-b547061fb81c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:to="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_e14c5085-85a5-451d-91d8-dce4f6457b25" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:to="loc_us-gaap_CommonClassAMember_e14c5085-85a5-451d-91d8-dce4f6457b25" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_963a3452-43a4-44e0-a9d2-2e4ae05ddd86" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:to="loc_us-gaap_CommonClassBMember_963a3452-43a4-44e0-a9d2-2e4ae05ddd86" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="extended" id="i330f63c0efdb4178b2f38b319a3be094_StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockNumberOfVotesPerShare_578f926a-09d7-46e9-99d1-700576c40eda" xlink:href="appf-20201231.xsd#appf_CommonStockNumberOfVotesPerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_CommonStockNumberOfVotesPerShare_578f926a-09d7-46e9-99d1-700576c40eda" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_90bf86c6-dacd-4e8c-9ac6-17d16ced0e89" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversion"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_90bf86c6-dacd-4e8c-9ac6-17d16ced0e89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_19336fc4-bdbd-4257-8919-572215fe3d28" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_19336fc4-bdbd-4257-8919-572215fe3d28" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockAutomaticConversionThreshold_c7bb1dc4-e023-4ddd-bd01-7ef6558413e2" xlink:href="appf-20201231.xsd#appf_CommonStockAutomaticConversionThreshold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_CommonStockAutomaticConversionThreshold_c7bb1dc4-e023-4ddd-bd01-7ef6558413e2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:to="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_1cad491c-c2db-4dbe-9cc6-31f948a483aa_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:to="loc_us-gaap_ClassOfStockDomain_1cad491c-c2db-4dbe-9cc6-31f948a483aa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:to="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_ecfb52f8-4f5c-4a10-b39f-71231a572f96" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:to="loc_us-gaap_CommonClassAMember_ecfb52f8-4f5c-4a10-b39f-71231a572f96" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_315bc5de-0bc9-4f4e-ace2-fdceec2af0cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:to="loc_us-gaap_CommonClassBMember_315bc5de-0bc9-4f4e-ace2-fdceec2af0cb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockByUniqueDescriptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:to="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockNameDomain_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:to="loc_us-gaap_ConversionOfStockNameDomain_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:to="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonClassBToCommonClassAMember_13ede028-36ce-4e71-a137-8b8389032833" xlink:href="appf-20201231.xsd#appf_CommonClassBToCommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:to="loc_appf_CommonClassBToCommonClassAMember_13ede028-36ce-4e71-a137-8b8389032833" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended" id="if2a24cd96e9a402f8803b49cc602aa87_StockholdersEquityPreferredStockDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityShareRepurchaseProgramDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="extended" id="idaaf7467f31a416da31d14a1f12bd023_StockholdersEquityShareRepurchaseProgramDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensation"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="extended" id="ibe689ac0b2394641a6696218c6cdba0c_StockBasedCompensation"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="extended" id="i14ccc5988ac24e1a89802088f65fc6fb_StockBasedCompensationTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionPlansDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="extended" id="i6881793fd74241d6b5956b98a0665bd7_StockBasedCompensationStockOptionPlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_5b2606c5-cda4-45c6-a03a-3e7bb8af9a84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_5b2606c5-cda4-45c6-a03a-3e7bb8af9a84" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_11cd26f7-b0f8-4d03-91b0-c1a82be147f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_11cd26f7-b0f8-4d03-91b0-c1a82be147f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_8aad86a1-e958-4c3f-82fd-5bd4575f9692" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_8aad86a1-e958-4c3f-82fd-5bd4575f9692" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_ff72566e-85a1-411e-a626-b9e43eb8c7c5" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_ff72566e-85a1-411e-a626-b9e43eb8c7c5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_744e5281-3803-4934-b3b1-0455a8b21d59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_744e5281-3803-4934-b3b1-0455a8b21d59" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9a37fb3a-0fe9-4339-b8f8-5c6b58bd54d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9a37fb3a-0fe9-4339-b8f8-5c6b58bd54d4" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_bf6216c3-0bce-4a8a-9a4c-46946605f74c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_bf6216c3-0bce-4a8a-9a4c-46946605f74c" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_38c505f3-db82-4252-9535-a958ed819b57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_38c505f3-db82-4252-9535-a958ed819b57" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_7d714703-ecf3-42a9-b82a-9031726381b0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_7d714703-ecf3-42a9-b82a-9031726381b0" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_6bba78a6-f8d5-4530-819b-57e89395f613_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:to="loc_us-gaap_ClassOfStockDomain_6bba78a6-f8d5-4530-819b-57e89395f613_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:to="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_176f3ee2-02f7-4c86-af6a-8f93f8c1e41b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:to="loc_us-gaap_CommonClassAMember_176f3ee2-02f7-4c86-af6a-8f93f8c1e41b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e27d1221-ad8e-4142-b23a-31b7bd390fea_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:to="loc_us-gaap_PlanNameDomain_e27d1221-ad8e-4142-b23a-31b7bd390fea_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:to="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TwoThousandFifteenStockIncentivePlanMember_ea6d629d-1884-4d83-be8b-1f6014098c7b" xlink:href="appf-20201231.xsd#appf_TwoThousandFifteenStockIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:to="loc_appf_TwoThousandFifteenStockIncentivePlanMember_ea6d629d-1884-4d83-be8b-1f6014098c7b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_09f14fe1-fbea-44f7-bbd1-f1a2a0462851" xlink:href="appf-20201231.xsd#appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:to="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_09f14fe1-fbea-44f7-bbd1-f1a2a0462851" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d3355aa4-8585-4ba6-a813-aedef903f71e_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d3355aa4-8585-4ba6-a813-aedef903f71e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_105b5140-0039-4955-b3b6-09365a6f36aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_us-gaap_EmployeeStockOptionMember_105b5140-0039-4955-b3b6-09365a6f36aa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockOptionMember_9aaf7433-790b-48a3-9e37-091bea26b117" xlink:href="appf-20201231.xsd#appf_PerformanceStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_appf_PerformanceStockOptionMember_9aaf7433-790b-48a3-9e37-091bea26b117" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_69272f10-d09e-43c4-b146-a63eed6f60b5" xlink:href="appf-20201231.xsd#appf_EmployeeStockOptionsAndPerformanceStockOptionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_69272f10-d09e-43c4-b146-a63eed6f60b5" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionActivityDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="extended" id="iea1e125f582e4db599959af4e8b209fe_StockBasedCompensationStockOptionActivityDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended" id="i506b3d7d20c1443692f02f3d300e9566_StockBasedCompensationRestrictedStockUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_d49fd0df-7ad0-4858-a19d-45a1cfcb0d9c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_d49fd0df-7ad0-4858-a19d-45a1cfcb0d9c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_124b10a4-5496-4769-b098-d4d76e2cb172" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_124b10a4-5496-4769-b098-d4d76e2cb172" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_043a4e20-2430-4683-a369-c0bb16c5509d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_043a4e20-2430-4683-a369-c0bb16c5509d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3ace4c96-a0be-4b58-b8e5-6348bebdc2d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3ace4c96-a0be-4b58-b8e5-6348bebdc2d0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9f3e5903-8fe8-4403-8449-0c598ec90a08" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_93a33cca-1347-4c37-8cff-ba1698daa545" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_93a33cca-1347-4c37-8cff-ba1698daa545" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_d58664c2-9269-4b53-8b37-87ae36610a8d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_d58664c2-9269-4b53-8b37-87ae36610a8d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_afe0aafa-531b-45e1-8967-cb81fdaf370e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_afe0aafa-531b-45e1-8967-cb81fdaf370e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d34d494b-aaec-4897-8681-cfc326950a55" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d34d494b-aaec-4897-8681-cfc326950a55" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_4749e09a-f8c3-4e42-8111-a1dabfc3e7c5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:to="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_515569df-369b-4fef-8b89-37e1abdd22ab_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_515569df-369b-4fef-8b89-37e1abdd22ab_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_af6e7388-28ed-4d9e-9698-ceaa756efacc" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_af6e7388-28ed-4d9e-9698-ceaa756efacc" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="extended" id="i5f7050b0272e4a1386c87f5c164b5fed_StockBasedCompensationRestrictedStockUnitsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_09bab94a-1df6-404e-be7a-33836d720134" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_09bab94a-1df6-404e-be7a-33836d720134" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_666de4a2-8477-4efc-b858-d5d8261f6672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_666de4a2-8477-4efc-b858-d5d8261f6672" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_c37a7a94-4726-49e6-a65e-c30f10d85180" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_c37a7a94-4726-49e6-a65e-c30f10d85180" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_b96e5645-061f-4761-a4d1-aba1afa01172" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_b96e5645-061f-4761-a4d1-aba1afa01172" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ed0eaee4-9ed2-4db6-9602-59ff602afabe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ed0eaee4-9ed2-4db6-9602-59ff602afabe" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_37412d02-6f6c-4ada-8ed4-99568e699c3a" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_37412d02-6f6c-4ada-8ed4-99568e699c3a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_479b7657-76a9-4569-93a6-285a8b464fd2" xlink:href="appf-20201231.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_479b7657-76a9-4569-93a6-285a8b464fd2" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_b3d7a3cf-854f-4291-9cd4-255a1bde93a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_b3d7a3cf-854f-4291-9cd4-255a1bde93a8" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_aab53899-eaa9-45b7-a70e-aa1fb07b5db2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_aab53899-eaa9-45b7-a70e-aa1fb07b5db2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_aaae7363-1220-4cb0-bc57-2636fc855ac1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_aaae7363-1220-4cb0-bc57-2636fc855ac1" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_87cc6ece-ced5-4616-94e9-d0eff698a2a0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_87cc6ece-ced5-4616-94e9-d0eff698a2a0" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e01737cd-44ef-4074-af05-d5e53f83d7ed_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e01737cd-44ef-4074-af05-d5e53f83d7ed_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_e27ac384-3297-47c1-ba30-3456ad464ef1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_e27ac384-3297-47c1-ba30-3456ad464ef1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember_fe60527a-a2b7-4126-87fb-b4ee76d785a1" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:to="loc_appf_PerformanceStockUnitsMember_fe60527a-a2b7-4126-87fb-b4ee76d785a1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member_d511bf2b-abff-4be1-8ce0-9746a450ea38" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019Member_d511bf2b-abff-4be1-8ce0-9746a450ea38" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member_f6f7e554-41ea-4ce1-bf81-571e443e79f0" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2018Member_f6f7e554-41ea-4ce1-bf81-571e443e79f0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_712ba9fe-af21-442f-ae17-4507808a6dbd" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_712ba9fe-af21-442f-ae17-4507808a6dbd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_290296d3-e01b-4f07-8f69-0e82db64bff3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_us-gaap_RestrictedStockMember_290296d3-e01b-4f07-8f69-0e82db64bff3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_569d7236-73d8-4613-bf75-8eb5c334e6d0_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:to="loc_us-gaap_PlanNameDomain_569d7236-73d8-4613-bf75-8eb5c334e6d0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:to="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2016PerformanceMetricMember_262bd003-6125-474b-b217-fe09c720467d" xlink:href="appf-20201231.xsd#appf_A2016PerformanceMetricMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:to="loc_appf_A2016PerformanceMetricMember_262bd003-6125-474b-b217-fe09c720467d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_cab2c566-2ab6-4732-bd9d-72a0a7b89a16_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:to="loc_srt_RangeMember_cab2c566-2ab6-4732-bd9d-72a0a7b89a16_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:to="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d6d3c6ef-3953-45c3-a1c8-0468cb6eaa0d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:to="loc_srt_MinimumMember_d6d3c6ef-3953-45c3-a1c8-0468cb6eaa0d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_591b9063-6871-4e06-a57d-ce328dcd6a03" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:to="loc_srt_MaximumMember_591b9063-6871-4e06-a57d-ce328dcd6a03" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_be403a9e-8809-4c13-a3a3-737fbb611698_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:to="loc_us-gaap_VestingDomain_be403a9e-8809-4c13-a3a3-737fbb611698_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:to="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_9ec16971-7b4d-40f6-b69b-0989792ed207" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_9ec16971-7b4d-40f6-b69b-0989792ed207" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_33f9f11d-0103-4cf1-b254-eceabf3f0b43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_33f9f11d-0103-4cf1-b254-eceabf3f0b43" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_9c4afdb3-d765-4a21-aa84-8228c290701a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_9c4afdb3-d765-4a21-aa84-8228c290701a" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockAwardsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="extended" id="id5cee305b0fc4470bd5228735b57572a_StockBasedCompensationRestrictedStockAwardsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0bc6026d-a46a-4c01-87c0-3c266677d672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0bc6026d-a46a-4c01-87c0-3c266677d672" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4d8c83af-a45e-4bae-9822-1756f866ba1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4d8c83af-a45e-4bae-9822-1756f866ba1f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_be62a9bb-a1cc-4fde-aa47-4c63e9673d63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_be62a9bb-a1cc-4fde-aa47-4c63e9673d63" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_91622bc5-7219-4a88-a231-ecf06fe6e27f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_91622bc5-7219-4a88-a231-ecf06fe6e27f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_85f7818f-2db5-4b17-b722-39b4cdc5ee7b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_b82d3df2-b720-459b-9097-65961ff28963" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_b82d3df2-b720-459b-9097-65961ff28963" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_747f02aa-3bd5-4d19-9dbf-518f69599a08" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_747f02aa-3bd5-4d19-9dbf-518f69599a08" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_549e8839-bc02-46bc-a1b4-21be9da1107d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_549e8839-bc02-46bc-a1b4-21be9da1107d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6f36b188-b20d-4641-af34-b699d9bde2a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6f36b188-b20d-4641-af34-b699d9bde2a2" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_d7303112-55c0-4f9b-846f-6af6784c7428" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:to="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_89110127-c561-4dde-a94a-03083c0a8c5e_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_89110127-c561-4dde-a94a-03083c0a8c5e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_09f86ff0-6b6f-488f-a978-751fc3136087" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:to="loc_us-gaap_RestrictedStockMember_09f86ff0-6b6f-488f-a978-751fc3136087" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxes" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxes"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxes" xlink:type="extended" id="i75c1b44a7f82477e8ffb5b81c749ff32_IncomeTaxes"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="extended" id="i21240664e0ba49c6b17eaefdc7421a10_IncomeTaxesTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended" id="i6196cdd2dcf948c8a2e45150a9943d1b_IncomeTaxesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_761b0f9a-f092-461a-84cc-0af011d19193" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_761b0f9a-f092-461a-84cc-0af011d19193" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_5f3f8fe2-22e4-45e1-ae44-0b3d705e85cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_5f3f8fe2-22e4-45e1-ae44-0b3d705e85cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_9f555e4c-6fb1-428e-bf6b-98de3f6ef559" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_9f555e4c-6fb1-428e-bf6b-98de3f6ef559" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_ca5c4c13-9cae-4ed9-822a-3c26462f5de0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_ca5c4c13-9cae-4ed9-822a-3c26462f5de0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_6042678f-571c-4699-b048-62de7cfc5e81" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_OperatingLossCarryforwards_6042678f-571c-4699-b048-62de7cfc5e81" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_b95b974d-77a5-43a0-87dc-8e147932a275" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_b95b974d-77a5-43a0-87dc-8e147932a275" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_4c802623-f22a-4989-87ec-bb1d26efe4a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_4c802623-f22a-4989-87ec-bb1d26efe4a8" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_107f511d-7512-47f4-af92-f56596c6086f_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_107f511d-7512-47f4-af92-f56596c6086f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_27cde466-0af7-4656-b466-e99ec889b2a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_27cde466-0af7-4656-b466-e99ec889b2a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_82b8070e-7055-4b54-8a9f-38a400b10296_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_82b8070e-7055-4b54-8a9f-38a400b10296_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_c975ea6d-3c9f-4dc8-82aa-9755e236cebb" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:to="loc_appf_MyCaseMember_c975ea6d-3c9f-4dc8-82aa-9755e236cebb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_da7cf45a-b639-4dd0-b737-acc6b5030dd4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:to="loc_us-gaap_DomesticCountryMember_da7cf45a-b639-4dd0-b737-acc6b5030dd4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_50a47f58-aa2f-42a6-aa29-a8248c6e27d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_50a47f58-aa2f-42a6-aa29-a8248c6e27d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_c469105d-5221-4e7e-bead-c9427ae16272_default" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_c469105d-5221-4e7e-bead-c9427ae16272_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember_8fdd90d4-12e3-4916-aab3-5a6e0b4b4e7e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:to="loc_us-gaap_ResearchMember_8fdd90d4-12e3-4916-aab3-5a6e0b4b4e7e" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesEffectiveIncomeTaxReconciliationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="extended" id="i5f0e323792ce4e598bea6d216ffd2b1b_IncomeTaxesEffectiveIncomeTaxReconciliationDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofIncomeTaxesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="extended" id="id710f6b202de4a039b89dcb51bd9c634_IncomeTaxesComponentsofIncomeTaxesDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="extended" id="i0fc6dd79280949b08dd213acd601a30b_IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesChangesinValuationAllowanceDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="extended" id="i57bf894f95374bcaa8945d3efd6f5e1d_IncomeTaxesChangesinValuationAllowanceDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended" id="id95659c150d1428ebed3b7ee6b044a60_IncomeTaxesUnrecognizedTaxBenefitsDetails"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformation"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="extended" id="i7909fa03d21740f5b1e33b415f160df0_RevenueandOtherInformation"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationTables"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="extended" id="iaaa70d487ac040878aa41a5c9a1656ce_RevenueandOtherInformationTables"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="extended" id="i3c50484bda6149f78f339572ecae51eb_RevenueandOtherInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_e75e69e1-2441-4883-b662-a1f1ea0d2b2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_e75e69e1-2441-4883-b662-a1f1ea0d2b2b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductInformationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:to="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:to="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_fa1d257a-334e-482f-801d-b21c6d850cd8_default" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:to="loc_srt_ProductsAndServicesDomain_fa1d257a-334e-482f-801d-b21c6d850cd8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:to="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember_7509bd1e-4b2f-434d-ae20-4bae391ecbf8" xlink:href="appf-20201231.xsd#appf_CoreSolutionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_CoreSolutionsMember_7509bd1e-4b2f-434d-ae20-4bae391ecbf8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember_eeb8b4aa-0fe7-4ab2-a094-8f6c47a9acec" xlink:href="appf-20201231.xsd#appf_ValuePlusServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_ValuePlusServicesMember_eeb8b4aa-0fe7-4ab2-a094-8f6c47a9acec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember_2df98588-1d6b-41a4-906d-6abb8ea708ac" xlink:href="appf-20201231.xsd#appf_OtherServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_OtherServicesMember_2df98588-1d6b-41a4-906d-6abb8ea708ac" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlans" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlans"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RetirementPlans" xlink:type="extended" id="i436ee41245cb4e10852290743b07d769_RetirementPlans"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlansDetails"/>
  <link:definitionLink xlink:role="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="extended" id="ia645922583964adb917309b1d69ba762_RetirementPlansDetails"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>appf-20201231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_7bd8b55b-01f9-4dd5-99d4-ea75be7e60e6_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsPolicy" xlink:to="lab_us-gaap_BusinessCombinationsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_5cbb1c16-75df-4f6c-b043-f339f0ad1640_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_5fb0306a-f718-4641-941c-3391dc3415b5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_ec6558a4-a241-46fe-a523-4c5fa9b7ab1a_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:to="lab_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_daa026b7-722f-428f-89de-0559a6516fc8_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_da92b590-df9d-44ca-9e9e-6242d0b9d78f_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_388ab767-b47b-4e61-8cec-97f1cb0b1a27_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intrinsic value of options outstanding</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_874d1d59-ca30-4ab7-ad30-b3c9c4a297f4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense), net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ChangesInValuationAllowanceRollForward_31f496c8-de90-4123-bba1-53b8f6c56d63_terseLabel_en-US" xlink:label="lab_appf_ChangesInValuationAllowanceRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes In Valuation Allowance [Roll Forward]</link:label>
    <link:label id="lab_appf_ChangesInValuationAllowanceRollForward_label_en-US" xlink:label="lab_appf_ChangesInValuationAllowanceRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes In Valuation Allowance [Roll Forward]</link:label>
    <link:label id="lab_appf_ChangesInValuationAllowanceRollForward_documentation_en-US" xlink:label="lab_appf_ChangesInValuationAllowanceRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes In Valuation Allowance [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ChangesInValuationAllowanceRollForward" xlink:href="appf-20201231.xsd#appf_ChangesInValuationAllowanceRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ChangesInValuationAllowanceRollForward" xlink:to="lab_appf_ChangesInValuationAllowanceRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_8dd25ead-e052-49d0-9677-86ee5e043d70_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_a3fbd103-cc34-4914-9bec-d19c5cdf79ed_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockMember_03b323b0-fb74-4bb3-8e69-8e99b83b36d6_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockMember" xlink:to="lab_us-gaap_TreasuryStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductInformationLineItems_ae4096be-3451-4ead-9628-99f2289a9c9b_terseLabel_en-US" xlink:label="lab_us-gaap_ProductInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Information [Line Items]</link:label>
    <link:label id="lab_us-gaap_ProductInformationLineItems_label_en-US" xlink:label="lab_us-gaap_ProductInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductInformationLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductInformationLineItems" xlink:to="lab_us-gaap_ProductInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_40e481bd-37ce-4664-8bb6-37c0fc527720_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liability, net</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_661703ce-caf7-4292-8e80-0703842af265_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plans</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_34b4d23d-e8f2-487e-a842-3d4d1c5cdc97_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_3b45b288-e8ce-4544-befa-3ec85b2f64cf_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_1fa912f4-bafb-4335-9ed9-4db78339cc83_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_456bb975-4cdd-4296-928f-cb8b85c342bf_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_c956b713-5116-484c-8994-ac774f18335c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets</link:label>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentAssetsMember" xlink:to="lab_us-gaap_OtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_89872159-194f-4048-85e8-ecceee79f7a0_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_TenantImprovementAllowance_6a7bd1d1-3edc-4294-968b-3be809b1cc05_terseLabel_en-US" xlink:label="lab_appf_TenantImprovementAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant Improvement Allowance</link:label>
    <link:label id="lab_appf_TenantImprovementAllowance_label_en-US" xlink:label="lab_appf_TenantImprovementAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant Improvement Allowance</link:label>
    <link:label id="lab_appf_TenantImprovementAllowance_documentation_en-US" xlink:label="lab_appf_TenantImprovementAllowance" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tenant Improvement Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TenantImprovementAllowance" xlink:href="appf-20201231.xsd#appf_TenantImprovementAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_TenantImprovementAllowance" xlink:to="lab_appf_TenantImprovementAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_855870d1-fee6-4350-89f6-a2b7c48eb2e7_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated fair value, due after one year through three years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_6de8a845-614e-4037-acd3-3180f4636f98_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year One</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_0e041153-5376-4bbe-9650-10e5b5e3888a_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6a57ae24-c837-44d3-8c29-26c133346076_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditMember_8b917a98-aad9-45c8-83da-43fd01e95b75_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditMember" xlink:to="lab_us-gaap_LineOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a02979fc-b13e-42e7-ae5e-2221799a0ff8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_3d3260dd-edc8-4817-9a53-b57100a194f4_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs during the period</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Additions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_ab5d58f0-b8fb-4d34-8c1d-041e9cb1352a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockMember_42bf64ab-a69b-467d-a22f-0e68f8d5f76e_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock</link:label>
    <link:label id="lab_us-gaap_PreferredStockMember_label_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockMember" xlink:to="lab_us-gaap_PreferredStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_94010d41-e3d2-4472-ac0b-6cf8723651a4_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_1bce5886-51a8-4d3c-9ea4-c9a55ebcb902_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_8715d593-ef03-4117-92ff-086575646a24_verboseLabel_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademark &amp; trade name</link:label>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_e9ecad8d-16e9-4849-8bd8-9c7981eaee17_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks and trade names</link:label>
    <link:label id="lab_us-gaap_TrademarksAndTradeNamesMember_label_en-US" xlink:label="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksAndTradeNamesMember" xlink:to="lab_us-gaap_TrademarksAndTradeNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_0fbc68ee-831c-47e3-ba46-5c1eb6a7905d_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_a0e91ef6-ad06-4bb3-86de-48525b2a18e4_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of debt issuance costs</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_032bb8fc-1db8-4678-b700-ba5bd84d0844_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_0bd6dbf4-7d91-4d88-abae-9cf570248910_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_f28efb01-edcc-4847-b8b3-8787255785b7_terseLabel_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deposits held with a third party related to insurance services collateral</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_label_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_documentation_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:to="lab_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_c0674b23-e531-4cb5-8a3d-99d1f1d3c1fa_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance shares</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2e1c0581-b064-4fd0-9fc6-b51a2b578b71_verboseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_eee8b546-b84d-4b84-a23b-719ec6cf1acb_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_e6105b59-80a1-4f76-a69d-cc8e5080c061_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, beginning balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_12e2d4cb-e091-425a-8546-84aac6fc5320_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, ending balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_1c3f38c0-d2dc-4320-960e-d2c54b45dc5d_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_fdc2ddd0-d272-4202-bc92-0544444328c9_negatedLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Realized Losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Realized Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_d684f812-9d02-456f-a7bb-fef1c699f98f_terseLabel_en-US" xlink:label="lab_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Calculated under revenue guidance in effect before topic 606</link:label>
    <link:label id="lab_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_label_en-US" xlink:label="lab_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Calculated under Revenue Guidance in Effect before Topic 606 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:to="lab_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_1fc65d5f-6215-401b-b3b7-b197e2d9cf43_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DynastyMarketplaceInc.Member_5661f00b-c812-4f08-bbf9-7b7f2fda55da_terseLabel_en-US" xlink:label="lab_appf_DynastyMarketplaceInc.Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dynasty Marketplace, Inc.</link:label>
    <link:label id="lab_appf_DynastyMarketplaceInc.Member_label_en-US" xlink:label="lab_appf_DynastyMarketplaceInc.Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dynasty Marketplace, Inc. [Member]</link:label>
    <link:label id="lab_appf_DynastyMarketplaceInc.Member_documentation_en-US" xlink:label="lab_appf_DynastyMarketplaceInc.Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dynasty Marketplace, Inc. [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DynastyMarketplaceInc.Member" xlink:href="appf-20201231.xsd#appf_DynastyMarketplaceInc.Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DynastyMarketplaceInc.Member" xlink:to="lab_appf_DynastyMarketplaceInc.Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_062ee220-f95e-4668-b4dd-575eee8e9517_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_a36c0914-299c-4e17-b691-6496eddee17d_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies (Note 11)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_21866ba8-1438-4dd8-ab70-e31d17d32319_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7b5e74a5-2be1-4534-858e-e604c8926560_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment securities&#8212;noncurrent</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_a1480488-b49c-400e-9157-415f8b139b86_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tranche two</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_f76994fc-6e72-4779-a055-93ea775fed64_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of treasury stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_378474fe-0d85-488c-81f6-0e2559333534_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_ad8a5b0c-fa29-4e9d-bb2b-7e9058713d2f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_027e6d07-db0b-4806-969e-751d6c6e3193_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_1c5b1075-07a8-43a5-997c-6b566f0c120d_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_a4c7387b-f742-4271-a44e-32a18563182e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_0f8e345f-b30c-4f14-ab77-5ab3168f72a6_terseLabel_en-US" xlink:label="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and fixtures and leasehold improvements</link:label>
    <link:label id="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_label_en-US" xlink:label="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures and Leasehold Improvements [Member]</link:label>
    <link:label id="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_documentation_en-US" xlink:label="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures and Leasehold Improvements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:href="appf-20201231.xsd#appf_FurnitureAndFixturesAndLeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:to="lab_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_b374a655-a67e-40c9-b23c-0089a243244c_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and fixtures</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_df90f259-15b0-4321-a4c4-f3dcc0e51abd_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents and Restricted Cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_fa5af0e8-6070-4d05-84cf-bd55d1250e7a_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax payable</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrent" xlink:to="lab_us-gaap_TaxesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_2b3b93a5-2e25-42c5-a26b-9c06246fc954_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_074c7e65-9aba-4d82-a070-bf40b3f026cd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_7789161b-e053-441c-a309-8a32d7380564_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_506b83c0-f71c-4c62-b110-758ee66dbd2f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for amounts included in the measurement of lease liabilities included in operating cash flows</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_360c07b3-ba5c-4319-8945-20ca7dab5bf6_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InternalUseSoftwarePolicy_4df82290-23ba-4993-abb9-51ad0432cd6e_terseLabel_en-US" xlink:label="lab_us-gaap_InternalUseSoftwarePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Software Development Costs</link:label>
    <link:label id="lab_us-gaap_InternalUseSoftwarePolicy_label_en-US" xlink:label="lab_us-gaap_InternalUseSoftwarePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal Use Software, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternalUseSoftwarePolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InternalUseSoftwarePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternalUseSoftwarePolicy" xlink:to="lab_us-gaap_InternalUseSoftwarePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_94d8991e-0d9a-4f0d-900f-fc7ddae35999_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_c061550b-8d17-44ce-82ee-26fd6fda1129_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_ee10b4c9-ca44-4e16-b2b8-1d1f94dfedcc_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_bbbef3a2-459f-4a01-a21b-21d332108843_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued commissions</link:label>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Sales Commission, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_a75f3c7f-2647-4a29-acfc-2d652a10142c_terseLabel_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total purchase consideration</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_label_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Total Prior To Adjustments</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_documentation_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Total Prior To Adjustments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTotalPriorToAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:to="lab_appf_BusinessCombinationConsiderationTotalPriorToAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_fd0f5ede-1c8b-4ff5-bb3c-8e3a982ba335_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_5cb8b7f2-0289-43eb-a874-2b906f749d13_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, equipment and software</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_41cf7610-53a3-447a-b9fb-481524c4ded7_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Useful Life (in years)</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_label_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForLegalSettlements_b7b0603e-df7a-4a0d-aebc-1d4873342706_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForLegalSettlements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ultimate settlement amount</link:label>
    <link:label id="lab_us-gaap_PaymentsForLegalSettlements_label_en-US" xlink:label="lab_us-gaap_PaymentsForLegalSettlements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Legal Settlements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForLegalSettlements" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForLegalSettlements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForLegalSettlements" xlink:to="lab_us-gaap_PaymentsForLegalSettlements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_e412dcac-4f92-471e-be03-65f4acfffd4f_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchased shares (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_label_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares, Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockSharesAcquired" xlink:to="lab_us-gaap_TreasuryStockSharesAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9d187d64-0b8b-46e7-8041-df0c4b6ec113_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassBMember_0172a78a-e1aa-4393-b829-0df93021f911_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class B common stock</link:label>
    <link:label id="lab_us-gaap_CommonClassBMember_label_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassBMember" xlink:to="lab_us-gaap_CommonClassBMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_7028d0d1-89e8-4d0f-ad3f-fb58ff581351_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaid" xlink:to="lab_us-gaap_IncomeTaxesPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_e35b7619-4914-4051-887d-82028f0156fd_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, beginning balance (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_d35847cf-6cc2-4bbc-9a31-8a74490adda1_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, ending balance (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_099ab5e7-7c46-4e92-867b-683b35575292_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_988c3607-5ff3-407b-aa3e-35d802512571_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_8c7c5ec7-3e63-42f8-80a3-89d81c22b6ff_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and local</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_e9149a71-f9fc-4cbb-9069-8279734fcfeb_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit carryforwards</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:to="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesOutstanding_5f9c140b-f25c-4d7d-9b54-d5d7fb3aa0bf_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_c570bbc0-0504-4f2f-8067-1a3d61c69be6_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_60aec458-7764-4753-b65d-fe7c3c0ef859_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of December&#160;31, 2020 and December&#160;31, 2019</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_5fb3df28-2398-43b0-b6c4-f25478c9c9ad_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_6d37fc3d-adc9-4526-8ef9-2bdb74c5b8e8_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalization of software development costs included in accrued expenses and accrued employee expenses</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software Additions, Incurred But Not Yet Paid</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software Additions, Incurred But Not Yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:to="lab_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_f8bc4c43-debc-438f-bd7e-c8cf08c7c50f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercisable (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock_d44bfa96-33b7-4b15-b17d-c3f7dda3170b_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets Amortization Expense</link:label>
    <link:label id="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Finite-Lived Intangible Assets, Excluding Internal-Use Software Development, Future Amortization Expense [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Finite-Lived Intangible Assets, Excluding Internal-Use Software Development, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:href="appf-20201231.xsd#appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:to="lab_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_ff1e9254-eb5f-4854-823b-c24b76ed151e_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_d393df95-92a1-47a2-ac13-e1beabafee32_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_7ecd8db7-1dbd-4d03-82ce-b52d35f91128_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_b3732a96-9ede-411a-89d2-dfdc18a059cd_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_4dd0afb8-e507-4f51-a796-06b0d55d2022_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options canceled/forfeited (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_06e5048d-6e46-42a7-bd6e-3533232cade2_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentInformationTable_4389f42e-da08-4e49-8f64-2a923274b187_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Table]</link:label>
    <link:label id="lab_dei_DocumentInformationTable_label_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationTable" xlink:to="lab_dei_DocumentInformationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductInformationTableTextBlock_c74cbd17-5e4a-4e6e-84a2-64f483a47212_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Information by Revenue Categories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductInformationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductInformationTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductInformationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductInformationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductInformationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_A2016PerformanceMetricMember_c4eb41cb-bdac-485e-89d5-34f2940760b1_terseLabel_en-US" xlink:label="lab_appf_A2016PerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2016 Performance metric</link:label>
    <link:label id="lab_appf_A2016PerformanceMetricMember_label_en-US" xlink:label="lab_appf_A2016PerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2016 Performance Metric [Member]</link:label>
    <link:label id="lab_appf_A2016PerformanceMetricMember_documentation_en-US" xlink:label="lab_appf_A2016PerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2016 Performance Metric [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2016PerformanceMetricMember" xlink:href="appf-20201231.xsd#appf_A2016PerformanceMetricMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_A2016PerformanceMetricMember" xlink:to="lab_appf_A2016PerformanceMetricMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_c4876e63-627e-40d8-b4ca-80bc4c8a2cbf_terseLabel_en-US" xlink:label="lab_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Difference between revenue guidance in effect before and after topic 606</link:label>
    <link:label id="lab_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_label_en-US" xlink:label="lab_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Difference between Revenue Guidance in Effect before and after Topic 606 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:to="lab_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2fec4711-d950-4c64-b3c9-3bb9f3800a86_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options canceled/forfeited (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_6c4308f3-0de7-4082-b464-acf989a8607c_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_46fa6975-ffe5-404e-ba19-ef2e5ccdbc09_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingExpense_7db38b3b-6e53-4b57-95e5-dd2511ae08cf_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising expense</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_fb2e7461-7b8d-4848-acec-4d4892c9254e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tranche three</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche Three [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_a2c5956b-4366-47d8-8a75-806d0ca0da97_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Required leverage ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Required Leverage Ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Required Leverage Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_dff84b49-fe98-4522-8b70-4f90f62fad38_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_a227546a-70e5-4ee6-9f49-12113bf226c3_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization expense</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_811c24ea-ada5-47dc-a29c-ed0a498bb495_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum term of stock options granted</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_d9f0fe37-954f-4b1e-aa65-844e5c35fa00_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_0626e4db-19df-4f71-9b15-111026a5bf89_terseLabel_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares to be issued per share upon automatic conversion (in shares)</link:label>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_label_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion Of Stock, Number Of Shares Issuable Upon Conversion Due To Transfer</link:label>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_documentation_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion Of Stock, Number Of Shares Issuable Upon Conversion Due To Transfer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:to="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_80afe7d0-3215-407d-b9b3-b1f7e3f26b3d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefit on reversal of tax liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_ffadc15b-9dd8-4df9-851e-320e1d6cf353_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_49f17ba1-be91-4483-afc5-0e2a2768591a_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer equipment</link:label>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_label_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerEquipmentMember" xlink:to="lab_us-gaap_ComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_cd0030fb-9491-4e51-8b7e-3ec06c955c13_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_c89dc251-8e62-4dfe-b541-719475879a8d_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSOs vested (in shares)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_9e5f8cc9-c140-4713-9c24-a3bd7fda2baf_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis" xlink:to="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_59fb1492-4406-4726-8d4a-ec45a7a88046_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_160fc2ae-9048-469a-a40a-559c1a6bc79c_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_e1049985-139c-48ea-8e86-031f38449240_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_a31285d6-b241-46eb-a459-da9264d5a2cc_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFairValue_fbec8fe7-ba6e-4fff-949f-29c4f74ecd88_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of term loan</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFairValue_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFairValue" xlink:to="lab_us-gaap_DebtInstrumentFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_b57cf1e5-005e-4ea1-892e-851541f85fc6_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InternetDomainNamesMember_91da34fd-60e3-4690-925f-90c4729c17d1_terseLabel_en-US" xlink:label="lab_us-gaap_InternetDomainNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domain names</link:label>
    <link:label id="lab_us-gaap_InternetDomainNamesMember_label_en-US" xlink:label="lab_us-gaap_InternetDomainNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internet Domain Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternetDomainNamesMember" xlink:to="lab_us-gaap_InternetDomainNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_063f7b5e-4418-429f-b653-0728ddb3bc74_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_19c38164-a7cd-4af0-a8d3-d5b49768e53d_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retention period</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Retention Period</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Retention Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_498129be-2eb8-4db7-a0b4-d4a4ede9e3a6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Number of Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_WeightedAverageMember_5472cac4-93a8-4b0f-9792-8651f583d3b7_terseLabel_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average</link:label>
    <link:label id="lab_srt_WeightedAverageMember_label_en-US" xlink:label="lab_srt_WeightedAverageMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_WeightedAverageMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_WeightedAverageMember" xlink:to="lab_srt_WeightedAverageMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_d1e4c87c-8b75-405b-b64b-d1f9e49a236a_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsAbstract" xlink:to="lab_us-gaap_BusinessCombinationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecuritiesPolicy_59aa78f5-4243-4d8c-826a-0fd7e4843ca9_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesPolicy_label_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MarketableSecuritiesPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecuritiesPolicy" xlink:to="lab_us-gaap_MarketableSecuritiesPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_48263df2-e67e-46a6-ae03-233b81eba0d4_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_457266b8-27b1-434d-be7e-56ac48cbcff7_terseLabel_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:to="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_d3ac5a95-193d-4cd5-bab1-7590edc608cc_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7f175573-da06-431e-9ed5-1f704f5b0218_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_b67eacad-3162-4a99-a5e0-ba576583ec7f_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercisable, weighted average remaining contractual life (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_ed57cf71-0803-43e4-832f-66875e89f67a_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization period of deferred cost</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_72bfa461-91e6-40b9-b428-5e68ed4d38aa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Accumulated amortization</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_e8bfdf2b-c35a-46a8-bc46-48eaa6b9cf11_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_e850f6f9-bde2-410a-826d-1812d89da222_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Two</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_0422e456-216f-485d-822f-06bd4bb75473_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_202fd64e-aa2f-4f78-a325-782516b2dbec_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_0e0f6323-f3d3-4438-881f-82ed3a74bed6_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Product Development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLossNetOfTax_b6bd8544-7c1d-49db-a6ac-5c604b02bdf3_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment losses for goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLossNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillImpairmentLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLossNetOfTax" xlink:to="lab_us-gaap_GoodwillImpairmentLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_252dffa4-c4b4-4032-af8c-628e60887ca6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_4940e9c1-04f0-43bf-8fa4-83baf1fc250d_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Funded indebtedness to EBITDA ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Funded Indebtedness To EBITDA Ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Funded Indebtedness To EBITDA Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_3185ddc6-ba03-4b6e-8d76-889c6ae296a6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1183a437-96cd-4796-8f97-6b62b2b9e38d_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_1c9dc0ed-88b1-4c3e-a9d0-5b2989d263b0_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_2d34c42a-85ca-48a3-97eb-be615f5820f2_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_eab0177b-b975-4aba-becc-c4cd850bc759_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Capitalized Software</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Capitalized Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_397de5b0-b59e-4ab0-ab24-03c3d7fc971a_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reporting units</link:label>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_label_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reporting Units</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportingUnits" xlink:to="lab_us-gaap_NumberOfReportingUnits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_6d65775f-60f6-4dfc-a82d-3a2744ab9925_terseLabel_en-US" xlink:label="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Axis]</link:label>
    <link:label id="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_label_en-US" xlink:label="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock_5323db9c-4cd5-42bb-9d92-12f7146c5e87_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_c5e40297-ffcc-4dc4-9caf-2ab2f64372f5_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment securities&#8212;current</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_233c6fcd-0af1-48fc-8547-27a7e538ca98_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalization of software development costs</link:label>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_label_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Develop Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToDevelopSoftware" xlink:to="lab_us-gaap_PaymentsToDevelopSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_fe578e67-2515-4f2f-b111-797c867432a8_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CommonStockNumberOfVotesPerShare_9fbaf65e-f43a-4404-8155-9647cbd95e0d_terseLabel_en-US" xlink:label="lab_appf_CommonStockNumberOfVotesPerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, number of votes</link:label>
    <link:label id="lab_appf_CommonStockNumberOfVotesPerShare_label_en-US" xlink:label="lab_appf_CommonStockNumberOfVotesPerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Number Of Votes Per Share</link:label>
    <link:label id="lab_appf_CommonStockNumberOfVotesPerShare_documentation_en-US" xlink:label="lab_appf_CommonStockNumberOfVotesPerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Number Of Votes Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockNumberOfVotesPerShare" xlink:href="appf-20201231.xsd#appf_CommonStockNumberOfVotesPerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CommonStockNumberOfVotesPerShare" xlink:to="lab_appf_CommonStockNumberOfVotesPerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_40c5ed36-5bc9-4bca-903b-e3f36856565d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_c6a623e2-9109-4ba2-a2ee-2ee60727f178_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosureItemAmountsDomain_50074c6b-e96d-4c1a-bca8-9ee410d9ae42_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosureItemAmountsDomain_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:to="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_cfceb7ea-c918-4351-aa36-9e6ac66ba21a_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment included in accounts payable and accrued expenses</link:label>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_label_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_1f1e25a8-4f24-4b39-a77d-edd05b8932e7_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillMember_059def45-8afc-4c6e-b84a-b57c759871dd_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillMember_label_en-US" xlink:label="lab_us-gaap_GoodwillMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillMember" xlink:to="lab_us-gaap_GoodwillMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_b6fb7868-43e3-4ba2-aac6-01cbc651dd18_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_27a7f962-3efc-4c70-9125-e052f950fd39_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConversionOfStockAmountConverted1_2266b7bb-6ca4-4b9b-880d-23637018ba11_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ConversionOfStockAmountConverted1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Class B stock to Class A stock</link:label>
    <link:label id="lab_us-gaap_ConversionOfStockAmountConverted1_label_en-US" xlink:label="lab_us-gaap_ConversionOfStockAmountConverted1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Stock, Amount Converted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockAmountConverted1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockAmountConverted1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConversionOfStockAmountConverted1" xlink:to="lab_us-gaap_ConversionOfStockAmountConverted1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_95a4e78d-3809-4be6-a745-221ca8f14f3b_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_1d58f611-6cc4-47f1-a289-8f9c2a8aa586_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_3882c3d4-cb24-473d-a279-89dcd294d48b_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs granted in 2019 and 2018</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 and 2018 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 and 2018 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2019and2018Member" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CommonStockAutomaticConversionThreshold_bf98be36-211e-44ea-81a8-35b405dded4c_terseLabel_en-US" xlink:label="lab_appf_CommonStockAutomaticConversionThreshold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automatic conversion threshold as a percent of Class B common stock</link:label>
    <link:label id="lab_appf_CommonStockAutomaticConversionThreshold_label_en-US" xlink:label="lab_appf_CommonStockAutomaticConversionThreshold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Automatic Conversion Threshold</link:label>
    <link:label id="lab_appf_CommonStockAutomaticConversionThreshold_documentation_en-US" xlink:label="lab_appf_CommonStockAutomaticConversionThreshold" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Automatic Conversion Threshold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockAutomaticConversionThreshold" xlink:href="appf-20201231.xsd#appf_CommonStockAutomaticConversionThreshold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CommonStockAutomaticConversionThreshold" xlink:to="lab_appf_CommonStockAutomaticConversionThreshold" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_9cdfe403-87fd-4138-89af-28c95305a73c_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_7e3614e7-8fcd-4b41-872b-2bb16118d86a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_c9436447-6314-4d38-b558-8dbb6e33ef0c_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DeferredTaxAssetsLeasingArrangements_f2adbd4f-8d0a-4903-8d36-b86e11fd49ff_terseLabel_en-US" xlink:label="lab_appf_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease asset</link:label>
    <link:label id="lab_appf_DeferredTaxAssetsLeasingArrangements_label_en-US" xlink:label="lab_appf_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Leasing Arrangements</link:label>
    <link:label id="lab_appf_DeferredTaxAssetsLeasingArrangements_documentation_en-US" xlink:label="lab_appf_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxAssetsLeasingArrangements" xlink:href="appf-20201231.xsd#appf_DeferredTaxAssetsLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DeferredTaxAssetsLeasingArrangements" xlink:to="lab_appf_DeferredTaxAssetsLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_f0d0df95-ac7c-41b7-a6a8-6955a06e63bc_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_2527aa31-f248-4d5b-a005-3ef2298f53d9_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_d55240a8-98f9-496e-922a-972988070a36_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_966932a9-a0e1-4b6a-b6cf-194ebf962f66_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_04827c2e-ef2b-4582-a527-274445d0aea0_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued bonuses</link:label>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Bonuses, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedBonusesCurrent" xlink:to="lab_us-gaap_AccruedBonusesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_ad348ca7-fc56-4d74-a5b0-a3c499944256_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_f43f9b03-d8ec-4f3c-87fa-c02f12dfabe3_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Lease Expense</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_c69c4eb0-aed9-4c9d-9608-d9f71255598d_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from divestiture of subsidiary</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Interest in Consolidated Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_08c38c3e-b608-4dec-9b12-8774ef179d84_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_dddbc32b-ac66-4209-9563-dfb810879f82_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_092edd68-1439-47ea-a00c-c64078204366_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_30667c08-0932-4ef8-9233-63e244bb4639_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue and Other Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_5f8bcb65-9917-4227-b899-addf8b7eff43_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash equivalents:</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConversionOfStockByUniqueDescriptionAxis_009a3c5a-0ccd-435e-a38d-2fa6acd30c6f_terseLabel_en-US" xlink:label="lab_us-gaap_ConversionOfStockByUniqueDescriptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Conversion Description [Axis]</link:label>
    <link:label id="lab_us-gaap_ConversionOfStockByUniqueDescriptionAxis_label_en-US" xlink:label="lab_us-gaap_ConversionOfStockByUniqueDescriptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Conversion Description [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockByUniqueDescriptionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis" xlink:to="lab_us-gaap_ConversionOfStockByUniqueDescriptionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_af23de11-f13f-40ce-8a7d-f2c310ce409c_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_20c22d24-504f-4f59-8d48-29014b74a08a_terseLabel_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_label_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Prepaid Expenses And Other Current Assets</link:label>
    <link:label id="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_documentation_en-US" xlink:label="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Prepaid Expenses And Other Current Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:href="appf-20201231.xsd#appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:to="lab_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_c9ce48ed-06b5-4799-881f-d7d7066756f4_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment charges related to the identified long-lived assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:to="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DeferredTaxLiabilitiesStateTaxes_1f2a9a1c-10ba-4909-b94c-99982af0b193_negatedTerseLabel_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes</link:label>
    <link:label id="lab_appf_DeferredTaxLiabilitiesStateTaxes_label_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, State Taxes</link:label>
    <link:label id="lab_appf_DeferredTaxLiabilitiesStateTaxes_documentation_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, State Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesStateTaxes" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesStateTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DeferredTaxLiabilitiesStateTaxes" xlink:to="lab_appf_DeferredTaxLiabilitiesStateTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_45b35b87-813c-4938-94f4-03ae46cbd53c_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_217f3101-bbe5-439d-91c2-f151c87577e7_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested, ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_e4200407-1ded-4ab6-8067-4920cb24a650_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of each class</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_def1fcf1-cc7c-4b95-a28a-5ea5eb5906e8_terseLabel_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of directors to authorized repurchases</link:label>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_label_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number Of Directors To Authorize Repurchases</link:label>
    <link:label id="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_documentation_en-US" xlink:label="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number Of Directors To Authorize Repurchases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:href="appf-20201231.xsd#appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:to="lab_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_3c87fa11-4b1d-4b51-8d87-0076f4383f9b_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis" xlink:to="lab_us-gaap_DisposalGroupClassificationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrderOrProductionBacklogMember_d6720c39-0ca2-47ae-8552-4b6c2a193d17_verboseLabel_en-US" xlink:label="lab_us-gaap_OrderOrProductionBacklogMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Backlog</link:label>
    <link:label id="lab_us-gaap_OrderOrProductionBacklogMember_b6afbcd8-7463-440b-8a36-119414f3ef99_terseLabel_en-US" xlink:label="lab_us-gaap_OrderOrProductionBacklogMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Backlog</link:label>
    <link:label id="lab_us-gaap_OrderOrProductionBacklogMember_label_en-US" xlink:label="lab_us-gaap_OrderOrProductionBacklogMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Order or Production Backlog [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrderOrProductionBacklogMember" xlink:to="lab_us-gaap_OrderOrProductionBacklogMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_2f8833e0-d7d6-434f-a7e7-360b7dcbb5ad_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net&#160;Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_bbb647e8-37a4-4fff-bd8c-6005f800c65a_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_3554ddb0-0c83-43c4-bbd9-224c3aef7522_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in unrealized gains on investment securities</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7676329a-69d4-4756-81de-e9b19c180380_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1b507337-8852-4cde-af9a-fba3c73d2b14_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_label_en-US" xlink:label="lab_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments, Debt and Equity Securities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="lab_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_d3a73c12-caf3-4a54-ae33-963607dd426d_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentrations of Credit Risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingDomain_9cb57221-18e2-496f-96c7-9273697710dd_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_aab36277-68da-46db-992d-a15e0546fb09_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchMember_8bc5ef9c-4d1f-404c-86ff-45e67136508d_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research tax credit carryforward</link:label>
    <link:label id="lab_us-gaap_ResearchMember_label_en-US" xlink:label="lab_us-gaap_ResearchMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research Tax Credit Carryforward [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchMember" xlink:to="lab_us-gaap_ResearchMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_722a6598-545a-4081-9e35-3d53e7c048c5_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_563e8528-bf98-4eef-8b0e-0c48ef49951b_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_label_en-US" xlink:label="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:to="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_24f694d3-371a-48f7-96c1-1626faba84a6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_17c693f3-94a2-4af6-a38c-e013d894b5a5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Impact of Adoption of New Revenue Standard Impact on Financial Statements</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_03a81b63-5601-4dbf-9037-15d44554db0d_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_9dc8b938-6305-40bc-be76-fb181f1ff184_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_c66e3610-c22d-434e-b79f-dbd8deabf9ff_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition purchase price floor for 0.5 increase in required leverage ratio for 12 month period following the close date</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Acquisition Purchase Price Floor For 0.5 Increase In Required Leverage Ratio For 12 Month Period Following The Close Date</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Acquisition Purchase Price Floor For 0.5 Increase In Required Leverage Ratio For 12 Month Period Following The Close Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_9800c391-ab3e-4b04-804d-f4bd1c2743b7_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense, weighted average recognition period (in years)</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_50b40588-2f7f-4cda-876d-70690d19bb93_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_53e1a49f-903b-4819-93d6-cbe779615d9a_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested or expected to vest, weighted average remaining contractual life (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DatabasesMember_ed12a18c-8c1e-4e12-abe4-10a64119e16c_verboseLabel_en-US" xlink:label="lab_us-gaap_DatabasesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database</link:label>
    <link:label id="lab_us-gaap_DatabasesMember_label_en-US" xlink:label="lab_us-gaap_DatabasesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DatabasesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DatabasesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DatabasesMember" xlink:to="lab_us-gaap_DatabasesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_523539a9-7dea-4226-9d48-8ace66bd1e11_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue recognized during the period</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_724a2556-aeca-4230-bb7b-5e645f749e16_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_2615ec97-dabe-4cfd-9477-e103558dfc75_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_aa497d6a-2962-456a-b96a-723c3a1e4fcc_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Software Development Costs</link:label>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5562bfbe-99fd-4f69-b9d1-2da110295e2f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_854626b3-02af-4d63-a435-5c6b8871296f_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_1096f302-c9de-40ac-8dab-ae1441afc74b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number&#160;of Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_12e63f97-3f14-41f6-8c48-4184691a3ba1_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Realized Gains</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Realized Gain</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_9f08978b-8ea0-4ed9-85eb-e1551c90a3ed_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in valuation allowance</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_bc0bdd08-e13d-4ca6-aa59-c19374395f73_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_06bb4ee3-b3d9-48e0-bc5d-abb0148c785f_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest (expense) income, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income (Expense), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_d74f105a-5632-4c0c-8bd6-060f3a5a0d90_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Purchase Price Allocation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_492454d4-1705-4dd0-b36c-3e67e3923ec6_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_2f400a2c-1128-47a7-8884-ac3ba3a789bc_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_a9186803-0eb1-4f4c-8f33-3f83ab056107_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_label_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockLineItems" xlink:to="lab_us-gaap_ClassOfStockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_705a7af3-7c4b-4b45-9653-001434be977b_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction in stockholders' equity</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_eacdb97b-1caa-44b5-b6b1-eb2be5627337_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_04daa0df-9fa4-4fdd-89e6-dbc156b89549_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetAbstract_35b00c81-f655-46dc-b6a5-fe597307260a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income tax assets:</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_b4188e92-4ecc-4183-9423-6528200f3211_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_20fab270-63ed-436b-bfae-6dfa9266c3f6_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease cost</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_282c35d0-7ea8-477e-ac45-7aa6e6712fd4_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_ed95c124-f1f4-40fe-a006-6fdf63f55053_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before provision for (benefit from) income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_827ff23e-2cb1-45a8-b17d-77613c579b64_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0fe3981f-56df-4555-bbdf-96ba5c37b46e_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other permanent differences</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_f8e79f24-ce17-4227-958a-7a5bd2b19a05_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_bca290ee-4d24-4ac8-a15c-611d552b2846_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, beginning balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_70551f43-9489-476f-9cee-73ddf542c50f_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, ending balance (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_45ae665e-c221-4720-936f-dcbb25bb2102_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_f68ab55b-ec81-48d6-aa26-1f0b29683220_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid in business acquisition, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_09d7f68e-2d40-43da-843c-c7f5e35468ec_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_e5e4276b-6525-4af2-8c7e-0afa9fd52820_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage of voting equity interest</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_68527d44-9605-4df6-9041-8706886994b3_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross property and equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_385aee92-5c86-46b0-bdae-5faa523e3dc1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Sales and Maturities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Realized Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRealizedGainLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRealizedGainLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_99b4cd88-08e2-4af4-9543-22a853c15be4_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plus: weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_9a756113-3262-43ca-8465-5c1ee192a9f2_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from stock option exercises</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_365b6390-1d61-415f-9e96-68088ec1899e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_d150aedf-328a-444d-8cb9-222b8b668dd6_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total commitment under lease</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Net Of Current Portion</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Net Of Current Portion</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:to="lab_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_3015d756-5ef5-4b42-ad25-519da9fa98c0_terseLabel_en-US" xlink:label="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Domain]</link:label>
    <link:label id="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_label_en-US" xlink:label="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="lab_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_c9e8abb7-10b6-495e-bd47-4a660b05c1c8_terseLabel_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_label_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Three</link:label>
    <link:label id="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_documentation_en-US" xlink:label="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization Expense, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:to="lab_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_feb7a866-1ff7-4f66-9da9-9d8256ebe3a8_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued vacation</link:label>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Vacation, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedVacationCurrent" xlink:to="lab_us-gaap_AccruedVacationCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_a32cd438-0d86-4575-9ec5-315e60c6b27a_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Employee Related Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember_a9645c8e-3be6-44ca-a9ca-06041b4b0a00_terseLabel_en-US" xlink:label="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimate of fair value measurement</link:label>
    <link:label id="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember_label_en-US" xlink:label="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimate of Fair Value Measurement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:to="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_04406b22-6424-4edf-a970-45ad53da6f2f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_31d4a5ee-71b6-4227-bc3d-7d97ec3b3d89_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_edb26354-b11e-4ca8-b3db-4f19de081ae1_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale Investments, by Remaining Contract Maturity</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_cf2e5287-c3a8-4090-ae03-497e2bbd1588_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_841f26b8-b3ef-4a6a-8951-f59fc4306136_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_da5124b6-50b7-4910-9dc0-64eb502e9326_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_0f4a8d66-92ff-415d-b38d-d7d85d2336ef_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseAndRentalExpense_aad6d813-7be5-41f3-9643-7377d37447ab_verboseLabel_en-US" xlink:label="lab_us-gaap_LeaseAndRentalExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating rental expense</link:label>
    <link:label id="lab_us-gaap_LeaseAndRentalExpense_label_en-US" xlink:label="lab_us-gaap_LeaseAndRentalExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases, Rent Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseAndRentalExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseAndRentalExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseAndRentalExpense" xlink:to="lab_us-gaap_LeaseAndRentalExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_d3e5b928-b060-4b80-a411-bbb2a26c4177_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Identified intangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_6c571af5-a1f1-473e-8d98-5c5aa627d796_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_9848ab77-0b0e-4c67-9166-51d3e0d32f07_terseLabel_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Activity</link:label>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:to="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_2e17b420-a1b4-4067-bc37-2030ecf31b7e_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized deferred financing costs</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_544a421d-acd8-4502-86dd-1ec211317a5a_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and Amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion, and Amortization [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_69911657-6ac7-48dd-9fb4-2a55350dad85_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_71a81391-2d09-48ff-a1a2-745868c003c3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development tax credits</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_19da5092-3047-4918-8f2a-3f1e8b4990ec_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax expense on gain of sale</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Tax Effect of Gain (Loss) from Disposal of Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:to="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_0fca9ac6-aee0-4fd7-9219-7a799ba3a27d_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_dff771c5-e412-4fc8-ac1c-e3f0f671658f_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for reported claims and claims incurred but not reported</link:label>
    <link:label id="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_label_en-US" xlink:label="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for Claims and Claims Adjustment Expense, Property Casualty Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:to="lab_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_b61c2943-9416-45f2-a569-2b5ca9854ad3_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_54fc88ec-8e70-49dc-a181-fec0ea50dc96_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs</link:label>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_label_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and Software Development Costs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:to="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_97bd8039-7921-4233-be22-1554e5ac4359_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PatentsMember_0f7d602b-1f60-4373-a338-121eb17dea13_terseLabel_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patents</link:label>
    <link:label id="lab_us-gaap_PatentsMember_label_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PatentsMember" xlink:to="lab_us-gaap_PatentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_cde352d3-2b39-4ebf-9f80-06541608d8e0_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_7b418c4d-3680-4aa0-ac2a-4d20e12bb40e_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNet" xlink:to="lab_us-gaap_CapitalizedContractCostNet" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_59d0aa2e-345d-4f3d-9e8d-c2bfb5b66f3f_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_71370f54-68b7-4f12-9410-22cb4cf60be6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8f154523-a3ba-420c-b737-8d621a77e6fb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property, equipment and intangible assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_991b497e-c133-40b8-817f-2ea519bbcf91_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_fd6a9196-af44-47e9-a48a-f086ccd35449_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_37af6928-c531-47ce-8ff0-2f054a69a1c6_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtTextBlock_4909df53-25d9-4cd1-8c9e-b4c2ae48879e_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtTextBlock_label_en-US" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtTextBlock" xlink:to="lab_us-gaap_LongTermDebtTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_191e1b74-e4f4-496f-b6a6-b6ee07a969bf_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, net and Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_09c2aba4-4a21-4c78-bfda-c89b07c3a8bf_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingencyAccrualAtCarryingValue_8b097a8d-aa6b-423d-a48d-56ccfaec7796_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingencyAccrualAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss contingency accrual</link:label>
    <link:label id="lab_us-gaap_LossContingencyAccrualAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_LossContingencyAccrualAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingency Accrual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyAccrualAtCarryingValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="lab_us-gaap_LossContingencyAccrualAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_bfeec428-8cd9-4298-950f-14878ee397e9_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized amount under share repurchase program</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_cfdab4c8-7d26-4716-9726-bd8474ee3af3_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedPayrollTaxesCurrent_f5308f9a-0edb-492a-9f8b-23980b10f8ec_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll taxes and other</link:label>
    <link:label id="lab_us-gaap_AccruedPayrollTaxesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Payroll Taxes, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedPayrollTaxesCurrent" xlink:to="lab_us-gaap_AccruedPayrollTaxesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_83ab0cca-7804-49d2-b520-9a7568c43fcb_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of Long-Lived Assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_a9007716-aafe-45fe-bbdb-7b71451d7823_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease term</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_c93f96d6-f062-47eb-bc6b-58df011635e4_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued and other liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount_23c75568-94ac-4bc9-815a-a1f07ffc60d5_terseLabel_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount retained to satisfy adjustments</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount_label_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Escrow Amount</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount_documentation_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Escrow Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTransferredEscrowAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:to="lab_appf_BusinessCombinationConsiderationTransferredEscrowAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_6b116142-73cd-4859-a896-0c5529981b5d_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_c73d39cb-6656-430e-b9bb-4a7651885d1f_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">EBITDA to interest expense ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, EBITDA To Interest Expense Ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, EBITDA To Interest Expense Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_763d8bfc-0890-4ff7-8676-e1dec2c2033a_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_0ab81489-477c-42cb-9846-8dbfd7b6404d_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation capitalized for software development</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Amount Capitalized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_e8c6e1a1-4cf4-4bb6-9650-f9d357b937c2_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitment fee, usage threshold for 37.5 basis points commitment fee, percentage</link:label>
    <link:label id="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_label_en-US" xlink:label="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Commitment Fee, Usage Threshold For 37.5 Basis Points Commitment Fee, Percentage</link:label>
    <link:label id="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_documentation_en-US" xlink:label="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Commitment Fee, Usage Threshold For 37.5 Basis Points Commitment Fee, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:href="appf-20201231.xsd#appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:to="lab_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_efb149e0-e2a9-4e8b-a2ba-5f5964b2a99a_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_f6de1ce5-d2da-4315-85e4-81e50e05bb0f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_9a340857-622a-456d-af5b-0179666a5c17_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_acc342e2-87fa-431d-be2d-a78421af3cb0_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax withholding for net share settlement</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_fe63bc0c-a45b-43fc-8ee2-a543b28711c1_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock awards (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_c2963883-935f-425e-825a-f1879b164516_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_8ca92326-ecc8-4247-ab98-f12d269eeaf2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill attributed to MyCase divestiture</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_TwoThousandFifteenStockIncentivePlanMember_5709ee68-85c8-4bc3-88c1-dcb2e2d0f8c5_terseLabel_en-US" xlink:label="lab_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2015 Stock incentive plan</link:label>
    <link:label id="lab_appf_TwoThousandFifteenStockIncentivePlanMember_label_en-US" xlink:label="lab_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Thousand Fifteen Stock Incentive Plan [Member]</link:label>
    <link:label id="lab_appf_TwoThousandFifteenStockIncentivePlanMember_documentation_en-US" xlink:label="lab_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Thousand Fifteen Stock Incentive Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:href="appf-20201231.xsd#appf_TwoThousandFifteenStockIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:to="lab_appf_TwoThousandFifteenStockIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_af4ab606-2758-4b40-a38a-be03c59c0fa2_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current</link:label>
    <link:label id="lab_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal, State and Local, Tax Expense (Benefit) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="lab_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_8c45162d-4948-480f-8153-355796cb144a_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, useful life</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_44b6c817-456e-46b3-a311-548da40d7c69_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebt_50d0e249-e8c0-4297-82e4-917cec61ebf5_totalLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt, net of unamortized debt financing costs</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_label_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_5052a7ca-7bc5-4d7d-827b-cb1956050bf1_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_867fb218-cc58-4045-9378-a79b1dd7ca49_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on sale of subsidiary</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:to="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_5c968f67-659c-47ce-8576-596cdd5e309d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_20dc6e17-f80f-490a-8fd5-dfcdc982ff71_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_351a148e-5282-4f0d-8e4e-af44682dcaa6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_4f43fc13-2f86-4ea3-9875-5fe75d410d5d_terseLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization and accretion of premium and discount</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_d23ac0a4-6265-4d48-b310-ac0a983391d5_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash included in other assets</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_2ce83415-a264-4ebc-b94f-1d37853a743b_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total net deferred tax (liabilities) assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_dc76198a-6d43-4c28-9936-7c94f5d6eb67_verboseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_410b739d-8786-4baa-bcb9-90fca63f70f1_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_9a32dd30-1b46-41c1-9581-bc9b114cc6ea_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenue (exclusive of depreciation and amortization)</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_a6a30ac1-dcb4-4ff8-ae1f-758943417070_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_cfb75f9a-7f38-4284-9dfd-3dbe1a093940_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale investment securities:</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostsAndExpenses_3e70bec4-6037-4aa1-8bd4-900510cfa466_totalLabel_en-US" xlink:label="lab_us-gaap_CostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total costs and operating expenses</link:label>
    <link:label id="lab_us-gaap_CostsAndExpenses_label_en-US" xlink:label="lab_us-gaap_CostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpenses" xlink:to="lab_us-gaap_CostsAndExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_8d3301a7-dbad-4603-bb5e-91de64045159_terseLabel_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_label_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Leases</link:label>
    <link:label id="lab_appf_IncreaseDecreaseInOperatingLeases_documentation_en-US" xlink:label="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases" xlink:href="appf-20201231.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_IncreaseDecreaseInOperatingLeases" xlink:to="lab_appf_IncreaseDecreaseInOperatingLeases" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_182cd9ce-7fb6-403e-921c-eb0e1c6cf8b2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_d2e269d4-40b3-4e4f-a7a7-ea6bc87e4161_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested RSAs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_726cf629-c9f4-4fbf-ab51-82a62ef0f9b5_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSAs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_730c9a5d-e479-4d5b-9b24-f7cb9d566ac9_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_fd4f849a-f527-4fad-a457-f87061cc6b35_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_4aaafd70-3716-4bee-9987-9a3aa84315f0_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_0988c567-af03-4527-8219-9f693204fd4a_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain" xlink:to="lab_us-gaap_BalanceSheetLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_71619775-2acd-4ee0-b61a-07503ed3eaa6_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets acquired</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_5085d561-cd98-4b22-a4f3-3f45014cdc8b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_8a09b789-db60-491b-9769-06d872d9399d_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion of lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_7b09b88c-8f65-496a-b7e6-133b866da6c4_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining stock-based compensation expense for unvested shares, not yet recognized</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_4022cf6f-1592-477a-84b9-4a03768dbeb3_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual decrease in required leverage ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Annual Decrease In Required Leverage Ratio</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Annual Decrease In Required Leverage Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock_fa9ab33e-0ee4-4a96-ba58-dacd74bb942e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_b4b91b4d-0c80-4598-9241-b2d9563e533e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_4bae79e7-e655-44f7-9c54-bfee87543b7c_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net tangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_6c59cab4-981e-4d74-9425-3eb63d1bd966_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll</link:label>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Salaries, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalariesCurrent" xlink:to="lab_us-gaap_AccruedSalariesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_3a1732e4-bb32-4749-9cea-2999bbec2bbd_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_129edd87-89c8-4463-a75b-af323486c97e_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_7d704984-ba34-4ac5-bd77-b29a848d0c05_verboseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_2465260c-df9b-438f-923a-8b919e306401_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercised (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForOtherCreditLosses_e6317d9e-2167-4341-8819-941ca0b5e808_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForOtherCreditLosses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses for available-for-sale investment securities</link:label>
    <link:label id="lab_us-gaap_ProvisionForOtherCreditLosses_label_en-US" xlink:label="lab_us-gaap_ProvisionForOtherCreditLosses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for Other Credit Losses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForOtherCreditLosses" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForOtherCreditLosses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForOtherCreditLosses" xlink:to="lab_us-gaap_ProvisionForOtherCreditLosses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_4c150fa9-4d92-459c-a8fc-a541fb687827_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_355e3784-61d0-4fd3-b087-7c922321144f_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_995745ec-e7d6-4a48-87cf-20845bf88206_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_bd3e8340-2495-4e14-af83-d3273ea28a27_terseLabel_en-US" xlink:label="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and services offered to real estate vertical</link:label>
    <link:label id="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_label_en-US" xlink:label="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and Services Offered to Real Estate Vertical [Member]</link:label>
    <link:label id="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_documentation_en-US" xlink:label="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and Services Offered to Real Estate Vertical</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:href="appf-20201231.xsd#appf_SoftwareAndServicesOfferedToRealEstateVerticalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:to="lab_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_bfdef46e-70c8-4690-9e35-84e5d01d2f28_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from maturities of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_346c841f-db82-4abe-9fed-c2f80050b8ef_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Proceeds from Maturities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:to="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_3e05fca5-025f-4b2b-ac83-375c78257565_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitment fee percentage</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_fcbedd5e-d4bc-4006-afeb-a212e80791ac_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership percentage in disposed subsidiary</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Ownership Percentage in Disposed Subsidiary</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Ownership Percentage in Disposed Subsidiary</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_c1df2e65-9f5b-4e91-aa41-ea28e0bc1fd1_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative effect, period of adoption, adjustment</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_9d0bfb7a-f022-432b-baad-8dba600af387_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_ea8dc3b3-d7f4-4ed7-86c9-544b8a32b8dd_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_ad504cd1-019f-4265-a215-d418531e3be7_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_116ba987-a31b-46f1-bf57-68473ce5f822_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_39b57847-e4b2-4075-b060-e3c3611c5a51_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_c2e3e827-dbaa-4bd1-9ca4-ca69852ee2a5_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_b1693cd7-681b-4771-b7ac-d0904f8e2095_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_a4095b2a-6db0-42b7-83d1-0e0935dbbf94_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSUs and PSUs</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units And Performance Stock Units [Member]</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units And Performance Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:to="lab_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_8d9010e8-afb1-4756-a57d-e2630f8c66d5_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized debt financing costs</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsNet" xlink:to="lab_us-gaap_DeferredFinanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_045d520e-6375-4f19-9fd8-114d5a8ff50d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price&#160;per&#160;Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_3eaed77e-7bbb-4556-a916-1d975ee84227_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_a8c46324-8789-42d6-a28e-108dd4d169ab_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized cost, due in one year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_570e728e-0a3d-4a93-9cbf-978f1e713c0f_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Issued, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_f8908e38-d54e-4b3a-a88e-43d06cdd7d04_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_4b4056cc-98d9-4c38-a799-54a7d343de61_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_5534973d-2dd1-46df-bed6-66d4f7c8dd7a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_e7207452-ecaf-4283-a9b7-9f23e97f8d5f_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_9e956a96-4831-440a-85d2-f7fced3f96db_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentAbstract_16bd0fd0-26d7-46a3-b389-5b1d5883b88b_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development [Abstract]</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentAbstract_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:to="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_OtherServicesMember_23d4e1f2-61a5-4d1f-8c0c-557dac3d8384_terseLabel_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_appf_OtherServicesMember_label_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Services [Member]</link:label>
    <link:label id="lab_appf_OtherServicesMember_documentation_en-US" xlink:label="lab_appf_OtherServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember" xlink:href="appf-20201231.xsd#appf_OtherServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_OtherServicesMember" xlink:to="lab_appf_OtherServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_782df67e-d7f3-4c08-8001-49adec83170c_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_698d3b81-c3d1-4d04-b698-db8eba94611a_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201602Member_92717cb6-5e2b-4155-83b0-e7e2c4d96a2e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update 2016-02</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201602Member_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update 2016-02 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201602Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201602Member" xlink:to="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_a25348de-6dc8-452a-ba21-a93e707406e2_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_1853c52c-b39f-44f6-8bec-c74f0c62795d_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Employee Expenses</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs, General [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:to="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_22c88a74-2e7d-4138-b59e-c10ea516d907_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_db5efef6-f4d0-4a6d-b70b-2bae32f2fd59_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill at December 31, 2019</link:label>
    <link:label id="lab_us-gaap_Goodwill_78de7c0e-b520-4e18-a931-ee7fc48ea7d0_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill at December 31, 2020</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_02765b47-fbe0-4dd5-af99-2192960ac6ae_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses</link:label>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Employee Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:href="appf-20201231.xsd#appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:to="lab_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_4070783d-183a-49e1-8dda-e2499408e466_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_bfe1d157-2953-4e93-9ad7-efcff4fb92e7_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated fair value, due in one year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_a575d5ee-4315-4419-942c-e7856feaa73b_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_4af5981c-0e35-4732-9223-04848778558f_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess tax benefit</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_fb2bf008-cb1a-4d6f-83e9-447194daa2fa_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition costs</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Transaction Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:to="lab_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_27339b07-4e0b-4452-95e2-25c5fac6734c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net operating loss carryforwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_ef074d50-bb5a-4ecb-b9b6-88613d736b06_terseLabel_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares to be issued per share upon conversion (in shares)</link:label>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_label_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion Of Stock, Number Of Shares Issuable Upon Conversion</link:label>
    <link:label id="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_documentation_en-US" xlink:label="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion Of Stock, Number Of Shares Issuable Upon Conversion</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversion"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:to="lab_appf_ConversionOfStockNumberOfSharesIssuableUponConversion" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_3027d87f-4ca1-4e81-821c-972bae74ecae_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_0671681f-c81b-4802-9bbe-ab8177e6e6dd_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration for disposal of subsidiary</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Consideration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingAxis_33c237b4-c116-4bed-b04a-87ee7053f2b1_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_bdf1482f-c446-458c-a8fa-c96503125812_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_ff31d801-fd32-4019-8ec7-792b56d524ef_terseLabel_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_52e56a3b-4c94-4fcc-b85a-0561b20810fe_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosure" xlink:to="lab_us-gaap_AssetsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConversionOfStockSharesConverted1_1d63bfd2-53aa-4a6c-8dfb-484f0860c3d7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Class B stock to Class A stock (in shares)</link:label>
    <link:label id="lab_us-gaap_ConversionOfStockSharesConverted1_label_en-US" xlink:label="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Stock, Shares Converted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConversionOfStockSharesConverted1" xlink:to="lab_us-gaap_ConversionOfStockSharesConverted1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_dab315f7-791c-4e1c-9dee-51b25893662d_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_e0a7b72e-b026-4abb-9ea5-6003c12600c1_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Extensible List]</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Extensible List]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:to="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_039ba5e1-3e22-419f-b06c-87a0481b96bf_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options granted (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_5094a7e2-cb8a-480d-9c99-ea46b831dafc_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_949de148-a0d1-41d2-8792-2af6b11e96f1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested of expected to vest (shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_bc40102a-dcd1-4f10-ad48-929a90c461f0_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_c2fe948c-b7dc-4605-a495-92de774b3d25_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scheduled of Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_0bd8042e-fedd-4805-8266-8bedc7ce5370_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e7009388-d064-42b5-84b2-6a3eccfb770f_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding; diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_ea67800d-09d3-4c39-98cd-2e4558c33256_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalUnitsAuthorized_f87297ec-a595-4e57-84c1-ac0f8f0b5c79_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalUnitsAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CapitalUnitsAuthorized_label_en-US" xlink:label="lab_us-gaap_CapitalUnitsAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Units, Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalUnitsAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalUnitsAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalUnitsAuthorized" xlink:to="lab_us-gaap_CapitalUnitsAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConversionOfStockNameDomain_0158ee37-a1d1-4c3d-872a-4f4d945db8dd_terseLabel_en-US" xlink:label="lab_us-gaap_ConversionOfStockNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Stock, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_ConversionOfStockNameDomain_label_en-US" xlink:label="lab_us-gaap_ConversionOfStockNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Stock, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConversionOfStockNameDomain" xlink:to="lab_us-gaap_ConversionOfStockNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_4072ada4-d97c-4958-95a2-0552fdbc10b4_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of operating segments</link:label>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfOperatingSegments" xlink:to="lab_us-gaap_NumberOfOperatingSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_64b9778e-bf15-4921-b615-bca33fa661a9_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_ea7fd858-d188-42a8-b4f8-981b1ed806e7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesMember_38ce3778-dffb-4e17-90ec-6710f15f1d7e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesMember_label_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Liabilities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentLiabilitiesMember" xlink:to="lab_us-gaap_OtherCurrentLiabilitiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_a71d2f8c-6979-4bd7-8b09-9e9604f1fb20_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_7cb52c52-2a4d-4a02-a313-2c9d12954ea4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average remaining lease term (years)</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_ab42cfb4-75aa-4e45-8f51-f7515911d03c_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid_c2df85e7-fdd2-4539-a1b0-be2ab5492e70_terseLabel_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase consideration for acquisitions included in other current liabilities</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid_label_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Accrued But Not Yet Paid</link:label>
    <link:label id="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid_documentation_en-US" xlink:label="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Accrued But Not Yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationAccruedButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:to="lab_appf_BusinessCombinationConsiderationAccruedButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_5d8a7103-22cf-4002-bbe2-1d47c93d99bf_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_be32b470-3d00-4013-bad3-8a2410c1abf8_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_fe449e7c-0a20-481f-b5da-e1ca096808b0_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued operations, disposed of by sale</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations, Disposed of by Sale [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:to="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_c4a2eeed-beb9-4554-b3e6-c79c3ed29cbb_periodStartLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefit beginning of year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_50dcc994-2e73-458c-8818-2b0b0bfdfca4_periodEndLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefit end of year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_b143101b-105d-4dc2-b307-1da2ddd43cf4_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain" xlink:to="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_223b4c6c-1832-4b73-865a-4ddaa7e407bd_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis" xlink:to="lab_us-gaap_BalanceSheetLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_e15a8dc3-fb87-43a2-ae3a-610289a9a7f0_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_94318e06-7704-41fd-84b8-816ac41e65cd_terseLabel_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Floor plus 20% of the sum of the combined outstanding principal amounts</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_label_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Floor Plus 20 Percent Of The Sum Of the Combined Outstanding Principal Amounts</link:label>
    <link:label id="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_documentation_en-US" xlink:label="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Covenant Restrictions, Floor Plus 20 Percent Of The Sum Of the Combined Outstanding Principal Amounts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:to="lab_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_9d1ba1fc-d61a-4a54-925b-f6d1bc3d75b8_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred costs, noncurrent</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:to="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_688aa467-248c-4b41-9cf0-2c668568aa8e_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_69dd9254-1ad4-4ac1-8890-7c9c5ebbd537_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecuredLongTermDebt_98c18f38-bcdc-4861-8bfb-4459d9495485_terseLabel_en-US" xlink:label="lab_us-gaap_SecuredLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan, net</link:label>
    <link:label id="lab_us-gaap_SecuredLongTermDebt_label_en-US" xlink:label="lab_us-gaap_SecuredLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Long-term Debt, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredLongTermDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuredLongTermDebt" xlink:to="lab_us-gaap_SecuredLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_7b065e50-15d6-4a8a-85fb-5ab2a81891ab_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of achievement of award target performance metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_dd27410e-02fa-4d7f-b63d-67131d9a1156_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_0fb50f59-e4e5-4129-b45c-549bafa56d00_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_2b7dfa30-5dcc-4ab0-a85e-a52952003582_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_8dbcd28f-d2d6-43f6-a101-43e882bd760f_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt_a3d8ac27-7f82-41ba-bdcb-afb878a29242_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Secured Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSecuredDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_150cb319-e81a-4ba5-afe0-272af2f7c7ba_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_c54860ed-e121-40d7-a28f-35ba043c6eaf_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_MyCaseMember_68cca3d7-56f5-402a-bfec-86d736a911d7_terseLabel_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase</link:label>
    <link:label id="lab_appf_MyCaseMember_label_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase [Member]</link:label>
    <link:label id="lab_appf_MyCaseMember_documentation_en-US" xlink:label="lab_appf_MyCaseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MyCase</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_MyCaseMember" xlink:to="lab_appf_MyCaseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_4c4f414e-83df-4dec-9183-96777ffd215f_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan, net&#8212;current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtCurrent" xlink:to="lab_us-gaap_LongTermDebtCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_bb73359b-cb5d-4502-afca-2b4212a14dfe_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_a32e7e69-9b84-4738-aa83-57e00bd1f7ac_terseLabel_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment contractual maturities</link:label>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_label_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-For-Sale Securities, Maximum Contractual Maturity</link:label>
    <link:label id="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_documentation_en-US" xlink:label="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-For-Sale Securities, Maximum Contractual Maturity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:href="appf-20201231.xsd#appf_AvailableForSaleSecuritiesMaximumContractualMaturity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:to="lab_appf_AvailableForSaleSecuritiesMaximumContractualMaturity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_6fcf3a77-7ca6-4502-8dd1-ecc1469338e7_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization expense with respect to software development costs during the period</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_019059c6-00cc-498f-893c-795daae11153_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CoreSolutionsMember_9f1b284e-6528-4337-b8f7-04a29fbb9fd5_terseLabel_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core solutions</link:label>
    <link:label id="lab_appf_CoreSolutionsMember_label_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core Solutions [Member]</link:label>
    <link:label id="lab_appf_CoreSolutionsMember_documentation_en-US" xlink:label="lab_appf_CoreSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Core Solutions [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember" xlink:href="appf-20201231.xsd#appf_CoreSolutionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CoreSolutionsMember" xlink:to="lab_appf_CoreSolutionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_53fb444c-86b5-4112-a73e-3fd1978a1057_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:to="lab_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_bb2d6700-8b02-4056-b8d1-08b2495b45e0_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_a07d03df-660c-4698-9d09-3613df4af62c_terseLabel_en-US" xlink:label="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 Performance metric, targeted free cash flow performance metric</link:label>
    <link:label id="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_label_en-US" xlink:label="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 Performance Metric, Targeted Free Cash Flow Performance Metric [Member]</link:label>
    <link:label id="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_documentation_en-US" xlink:label="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 Performance Metric, Targeted Free Cash Flow Performance Metric [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:href="appf-20201231.xsd#appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:to="lab_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ValuePlusServicesMember_a762169c-c516-4a50-b9da-55250994142c_terseLabel_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value+ services</link:label>
    <link:label id="lab_appf_ValuePlusServicesMember_label_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value Plus Services [Member]</link:label>
    <link:label id="lab_appf_ValuePlusServicesMember_documentation_en-US" xlink:label="lab_appf_ValuePlusServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Value Plus Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember" xlink:href="appf-20201231.xsd#appf_ValuePlusServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ValuePlusServicesMember" xlink:to="lab_appf_ValuePlusServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_6191240d-241b-40ed-b43e-6b0a060cba1e_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3ce660b9-3609-4c41-92ea-a0908cc7cd89_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_ec624811-d4dc-478a-937e-6de766fdc716_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash from investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_5342ae70-09be-41fa-b747-b0bee5ed41f2_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_345fdbd3-d699-4317-a91b-45e35a25b84c_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductInformationTable_bf5735bb-1442-4802-92e9-de53ed4a17de_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductInformationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductInformationTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductInformationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductInformationTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductInformationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductInformationTable" xlink:to="lab_us-gaap_ScheduleOfProductInformationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_a33ebc50-5041-46ed-be51-7eedce788596_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate number of shares reserved for stock incentive plan</link:label>
    <link:label id="lab_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_label_en-US" xlink:label="lab_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Common Stock Reserved for Future Issuance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" xlink:to="lab_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_db15eca3-84b3-43a2-9ff6-a6148825fbbf_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_81cc8534-202a-467e-9031-0987c786f21a_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_e58a8125-b513-4bec-b437-bcc1edbaf8cf_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_a1755241-915b-464a-8006-096597799eb1_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total commitment under lease</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_a9449271-db98-48e9-8ff5-808354236cbd_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_c1d77c0e-9008-413b-80b8-ddf6a5cc8302_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total net deferred tax (liabilities) assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_3a314bbf-3025-4be4-851e-69559382c781_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_4978c186-dbff-428a-8816-91898fb6e04e_totalLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PartnerRelationshipsMember_e09530a7-c9e7-4931-86de-50c2fdff8c14_terseLabel_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner relationships</link:label>
    <link:label id="lab_appf_PartnerRelationshipsMember_label_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner Relationships [Member]</link:label>
    <link:label id="lab_appf_PartnerRelationshipsMember_documentation_en-US" xlink:label="lab_appf_PartnerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember" xlink:href="appf-20201231.xsd#appf_PartnerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PartnerRelationshipsMember" xlink:to="lab_appf_PartnerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_0887a472-cc7a-4618-bd71-12414eb48ea4_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RichardsonTexasMember_17de766f-13ca-4393-b599-eabbb3844ed6_terseLabel_en-US" xlink:label="lab_appf_RichardsonTexasMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richardson, Texas</link:label>
    <link:label id="lab_appf_RichardsonTexasMember_label_en-US" xlink:label="lab_appf_RichardsonTexasMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richardson Texas [Member]</link:label>
    <link:label id="lab_appf_RichardsonTexasMember_documentation_en-US" xlink:label="lab_appf_RichardsonTexasMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richardson Texas</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RichardsonTexasMember" xlink:href="appf-20201231.xsd#appf_RichardsonTexasMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RichardsonTexasMember" xlink:to="lab_appf_RichardsonTexasMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_56e73ee7-d0ed-4c48-b0b2-d70223ccb939_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_016cc13d-8ff7-41b1-ad87-a1cbf53b93f1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_4480b34a-4412-4a94-99e2-31e2fafd2f89_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_21d5b27f-f720-4e15-9482-16ad8e611f05_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_42162f56-5162-480a-9228-e3570f3abc7e_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_1a99469e-a473-461a-be8b-547cf4c446f8_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_b84831d3-9fa1-42ec-ac27-830512b1eb82_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_d460506e-9aea-4b6f-b636-c75a7a09dc5c_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Business</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_bc0fd107-c678-4812-89c6-7d14bfc456fd_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_cf73a410-cb4a-4e0c-8761-79d12098adfd_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_label_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesLineItems" xlink:to="lab_us-gaap_LossContingenciesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201409Member_fc538832-30b6-4d16-b1c3-99b817f7deed_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201409Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting standards update 2014-09</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201409Member_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201409Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update 2014-09 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201409Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201409Member" xlink:to="lab_us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_0301b4b1-796f-44ac-a117-69ba84cc7d39_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive income</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_0bc8208e-d871-412d-8358-f2fee32442d7_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_39c2ca93-d7f8-41d6-8e5b-73ab4224a31d_terseLabel_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency securities</link:label>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_296ecc61-9476-48b2-ace0-9b472d936d57_verboseLabel_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency securities</link:label>
    <link:label id="lab_us-gaap_AgencySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_AgencySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AgencySecuritiesMember" xlink:to="lab_us-gaap_AgencySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_169a9363-a91e-4fe8-8f83-7cb04fdc3578_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember_5af261e4-86d7-4df6-aa25-e3e695fe44e0_terseLabel_en-US" xlink:label="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Portion at fair value measurement</link:label>
    <link:label id="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember_label_en-US" xlink:label="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Portion at Fair Value Measurement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:to="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions_9fa3ac81-01f7-4a60-96f5-014ff160d8e0_negatedLabel_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized commissions</link:label>
    <link:label id="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions_label_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Capitalized Commissions</link:label>
    <link:label id="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions_documentation_en-US" xlink:label="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Capitalized Commissions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesCapitalizedCommissions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:to="lab_appf_DeferredTaxLiabilitiesCapitalizedCommissions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_5305fd00-40ad-4bc3-a54d-22025b88eb72_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_c23f6893-01ce-4e64-a393-a311419e881b_totalLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued employee expenses</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_7eda0358-9a4e-4bbc-b80b-766a48178e3f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_746f3222-124a-4c71-a008-d6f0984a9a69_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested restricted stock units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_262ecd5d-df9c-45e5-8638-fcfe5b9a8b81_netLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSUs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_517d9865-e382-4a88-af9a-2145d031c9f4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_f19197a5-d1d2-40db-9188-aa8657ff148f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_dc47d9c1-1a38-4175-b0bb-0172f7000336_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_d16d741f-f639-4919-9adf-46c7569e159a_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities assumed</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_284d721c-9313-4a7c-bcfa-0600c3c27a1d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax examination, penalties and interest accrued</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Examination, Penalties and Interest Accrued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:to="lab_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsMember_646c7bf0-464b-4a62-ab9d-c0893f9003f2_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsMember_label_en-US" xlink:label="lab_us-gaap_OtherAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsMember" xlink:to="lab_us-gaap_OtherAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_d9a0ab9b-328e-4d0f-9b63-d9092f292a78_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_35398c4d-a3a4-4cf7-b6ea-291583dbbc5b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities:</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_56307e59-a54e-4a7d-8225-268d9f50cfe4_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_a4e09b59-559f-4773-b307-fe7d78b9f70b_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember" xlink:to="lab_us-gaap_TypeOfAdoptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_fa345dfc-9a0f-4daf-b62e-2c645f422ba9_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares excluded from net loss per share attributable to common stockholders (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_97779189-503f-4c7c-b736-61d85b0b200f_totalLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_e8286256-66be-4b27-a822-5879a4972b38_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_f0d5ee75-f95a-4e8d-91a1-7a179fefdc79_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increases-tax positions in current year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_3a68469a-b0b7-44dd-82ba-2515266aa15c_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful lives (in years)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_05c5eb1f-d82c-47d1-96fe-ffcc98fb8462_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average&#160;Useful Life in Years</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_3ab2e067-cd49-48b8-af61-2d5e0834ad14_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_6730bba9-faf3-4ce2-9c71-5ff178a77bca_periodStartLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance, at beginning of year</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_6ab850c6-a24f-44db-ac73-60f838254da9_periodEndLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance, at end of year</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_95047120-6652-45e5-9c1f-7a97440d4b45_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease liability</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_68b1b875-d109-4fab-a74c-da579491e237_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_a41ef6a1-a5e9-41d8-8554-24eea8cf481d_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_ecc1dff6-b46d-482b-ab3e-d2d67f66b4c5_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_164a85e2-d529-4bd0-8dea-62d2b9ba1d50_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConstructionInProgressMember_6f34a61a-5206-4edf-893c-13b7ca9ee25e_terseLabel_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in process</link:label>
    <link:label id="lab_us-gaap_ConstructionInProgressMember_label_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressMember" xlink:to="lab_us-gaap_ConstructionInProgressMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_aab8db5c-3f3c-43bd-8356-3406bdca4341_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets divested</link:label>
    <link:label id="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_label_en-US" xlink:label="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="lab_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_135c2467-15f1-49f5-ab63-57dcd1846f0e_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_662172c8-41e7-47f1-887b-9cbc0afae95f_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Recognition, Deferred Cost, and Cost of Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_54a2ba1a-935f-4796-8911-c9fc5a905354_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_6d11de9a-e4da-4fd8-951d-e9b37d0013db_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DataCenterAndComputerEquipmentMember_5939399d-ea23-4ddd-a8e0-0e0938b819e7_terseLabel_en-US" xlink:label="lab_appf_DataCenterAndComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Data center and computer equipment</link:label>
    <link:label id="lab_appf_DataCenterAndComputerEquipmentMember_label_en-US" xlink:label="lab_appf_DataCenterAndComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Data Center And Computer Equipment [Member]</link:label>
    <link:label id="lab_appf_DataCenterAndComputerEquipmentMember_documentation_en-US" xlink:label="lab_appf_DataCenterAndComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Data Center And Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DataCenterAndComputerEquipmentMember" xlink:href="appf-20201231.xsd#appf_DataCenterAndComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DataCenterAndComputerEquipmentMember" xlink:to="lab_appf_DataCenterAndComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_16b7d18c-b86d-4ced-b652-268f15ca6b89_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_c5a159f0-3611-446a-b910-404fb6443c44_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_d6b2000a-666f-498c-88f2-91f947d482d0_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_7761c928-7de3-4446-bd1d-8ecb9bdb6554_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_31528116-ae7f-490f-b4a2-120c47c43aac_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_aec023a3-512f-4a2e-ae3e-1ba25a488b78_terseLabel_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Per incident policy limit</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_label_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</link:label>
    <link:label id="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_documentation_en-US" xlink:label="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:to="lab_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_ee2588e3-b8f4-4aa0-8bec-8f92b0b689c2_terseLabel_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock units, net of shares withheld for taxes</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_label_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</link:label>
    <link:label id="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_documentation_en-US" xlink:label="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:to="lab_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockOptionMember_e258876e-9e4d-431b-8ca2-968260821057_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSOs</link:label>
    <link:label id="lab_appf_PerformanceStockOptionMember_label_en-US" xlink:label="lab_appf_PerformanceStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Option [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockOptionMember_documentation_en-US" xlink:label="lab_appf_PerformanceStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockOptionMember" xlink:href="appf-20201231.xsd#appf_PerformanceStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockOptionMember" xlink:to="lab_appf_PerformanceStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_2890f944-24f4-41f5-bca4-df826e022c92_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIBOR</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_9db2b15c-3ea1-418f-9fad-f6170294fb5c_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_f6bfae22-543a-4bc6-8c70-e1c16e2bda80_terseLabel_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Capitalized Computer Software</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_label_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Capitalized Computer Software [Table Text Block]</link:label>
    <link:label id="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_documentation_en-US" xlink:label="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Capitalized Computer Software [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:href="appf-20201231.xsd#appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:to="lab_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_c3b02a02-1c76-4782-8e7f-2156dc36181e_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized cost, due after one year through three years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_caf28a1e-7f0c-483d-b8bc-0dbe8c833aed_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_0813d5d5-0f74-4cc2-9db3-a296db018c8d_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_d9a347ca-f274-4558-8010-777890a75d3b_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_b91d7c88-818a-4718-9e49-226c99345c58_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net operating loss carryforwards</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_ca5e2a12-c359-43d7-8da5-664ebb569eb8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per common share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_c5508deb-610f-4900-ab4e-705294618245_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_5064ead0-e536-40ac-b1b0-96e72a150932_terseLabel_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of operating lease right-of-use assets</link:label>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_label_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization Of Operating Lease, Right-Of-Use Assets</link:label>
    <link:label id="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets_documentation_en-US" xlink:label="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization Of Operating Lease, Right-Of-Use Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:href="appf-20201231.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:to="lab_appf_AmortizationOfOperatingLeaseRightOfUseAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_fc623129-4729-4892-a2c6-0dac4358d175_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and local income taxes, net of federal benefit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract" xlink:to="lab_us-gaap_CompensationRelatedCostsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_TechnologyMember_78ad6afb-60ec-4b41-b553-2cef4560e295_terseLabel_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology</link:label>
    <link:label id="lab_appf_TechnologyMember_label_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology [Member]</link:label>
    <link:label id="lab_appf_TechnologyMember_documentation_en-US" xlink:label="lab_appf_TechnologyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember" xlink:href="appf-20201231.xsd#appf_TechnologyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_TechnologyMember" xlink:to="lab_appf_TechnologyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_14ecab5f-e850-444f-97db-2d5154b61d22_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on sale of business</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:to="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_a79ddb7c-fc05-4a64-bb33-62f116029965_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_4d145012-5908-4d53-ac35-c2a7ebaab2ca_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs, gross</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_e102dd71-bf24-4edf-88d3-91e42ae926f2_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_9734b6a3-ef37-465c-a749-7141f7059be8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number&#160;of Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_e603be0f-554f-4792-aae2-8a6fb4085204_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_c039a90c-57bf-44c9-bfcd-11a030fef99e_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_374c6c88-5c0c-40a2-a2c8-f06c39275208_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock awards</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_e6bb2da5-2a60-4cb0-9787-d41bccc5fd24_terseLabel_en-US" xlink:label="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock options and performance stock options</link:label>
    <link:label id="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_label_en-US" xlink:label="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Options And Performance Stock Options [Member]</link:label>
    <link:label id="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_documentation_en-US" xlink:label="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Options And Performance Stock Options [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:href="appf-20201231.xsd#appf_EmployeeStockOptionsAndPerformanceStockOptionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:to="lab_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_013caadb-b0f6-4c7a-9d69-4e348bef56b0_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology</link:label>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_label_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareDevelopmentMember" xlink:to="lab_us-gaap_SoftwareDevelopmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_db8fddc1-c12f-4c51-9884-900a2c65dc36_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosure of cash flow information</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_f005d919-cabc-4168-94c0-9f0e00105295_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingencyEstimateOfPossibleLoss_702bdd1d-d3db-456f-8669-e7609d173a85_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingencyEstimateOfPossibleLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimate of possible loss</link:label>
    <link:label id="lab_us-gaap_LossContingencyEstimateOfPossibleLoss_label_en-US" xlink:label="lab_us-gaap_LossContingencyEstimateOfPossibleLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingency, Estimate of Possible Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyEstimateOfPossibleLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyEstimateOfPossibleLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingencyEstimateOfPossibleLoss" xlink:to="lab_us-gaap_LossContingencyEstimateOfPossibleLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_0e519873-673b-452d-8fc7-f05db9ef4820_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_0e757689-5457-49b4-811b-4f9cea8c461d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_76e663a1-b089-4198-a7b4-6542fb896fa8_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_e1c2ad96-2852-40a6-86a1-0da990a6c77e_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_a7c67559-6bd5-49ce-acfc-74898ca9aa37_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_05c1d406-7b34-4b87-b762-e288ef6b93db_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetCurrent_633b176a-9703-4837-8fd9-13ced6cc7a51_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred costs, current</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetCurrent_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNetCurrent" xlink:to="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_a20587e1-af72-45ce-9da4-606af34b5787_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of early exercised shares</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Recognition and Exercise</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_7c46c039-acf8-4938-aaef-27ce14ebb01a_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Estimated Useful Lives of Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_024f6522-c7cc-4ec7-bf47-5af0ad000779_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_076ba5bd-6569-4722-b721-f337ce8cf7ea_terseLabel_en-US" xlink:label="lab_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt issuance and other financing costs accrued, not paid</link:label>
    <link:label id="lab_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_label_en-US" xlink:label="lab_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs Incurred During Noncash or Partial Noncash Transaction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:to="lab_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecuredDebtMember_510df4f3-ca75-41b1-9c70-e378587bc837_terseLabel_en-US" xlink:label="lab_us-gaap_SecuredDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan</link:label>
    <link:label id="lab_us-gaap_SecuredDebtMember_label_en-US" xlink:label="lab_us-gaap_SecuredDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuredDebtMember" xlink:to="lab_us-gaap_SecuredDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_31125489-8ac3-47df-8316-8388c000cce4_verboseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_9beb4fed-32e5-48fd-a095-8e7868fbfd7c_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember" xlink:to="lab_us-gaap_USTreasurySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_91f3c77a-8628-412a-b920-982a6ed66a5e_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income received</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Other Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_0f39d1ef-292a-4e8a-b365-155ee35fc1f5_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_0d4faab0-76f0-4b3f-ac52-5c21e9668257_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross&#160;Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_64f83c72-ccf5-4493-b6df-c87866e76034_terseLabel_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities and Fair Value Measurements</link:label>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_label_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities And Fair Value Measurements, Disclosure [Text Block]</link:label>
    <link:label id="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_documentation_en-US" xlink:label="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Securities And Fair Value Measurements, Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:href="appf-20201231.xsd#appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:to="lab_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_9144f093-b31a-4642-93b8-e509ed81a029_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: weighted average unvested restricted shares subject to repurchase (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares, Restricted Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesRestrictedStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_3000dbde-0ca8-4d54-b525-3fb15a8cfc60_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_e67abbd6-931d-4e73-b9ac-5739a94abeff_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs granted in 2018</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2018 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2018Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2018 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2018Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2018Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_7bc1b479-60b9-4db3-9b70-764e68df6343_terseLabel_en-US" xlink:label="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quota share of tenant liability insurance provided, percent</link:label>
    <link:label id="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_label_en-US" xlink:label="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reinsurance Retention Policy, Reinsured Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:to="lab_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_0051ffe0-9d7b-4475-8182-baec9fd463f4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_368b26b7-da1d-4d74-b5aa-73ea596af9d9_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee retention bonus pool</link:label>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_label_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Divestiture, Amount of Consideration Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:to="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassAMember_0cf5fe15-b016-4178-a8c3-97f53a1ec935_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class A common stock</link:label>
    <link:label id="lab_us-gaap_CommonClassAMember_label_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class A [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassAMember" xlink:to="lab_us-gaap_CommonClassAMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_257039f8-7e4a-4f68-a738-acf523ce61d1_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash investing and financing activities</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_e4780d00-d091-4d3a-96e6-ce52b7a25b83_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development tax credits</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_9edae7da-4903-49d9-aa86-88f26ac078af_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_5cd279f6-ba00-4795-898c-7d651c6c81dc_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercised (shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_1c72379f-10d8-4842-bffc-8b9855f4c4fa_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of award target performance metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7c2d0230-85da-4a00-88eb-93831233eb59_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Divestures and Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_17b6279a-08b6-4c61-8c74-74af7191bfc1_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Mininum Lease Payments Under Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_86297cf7-ea36-4b0f-857c-1327f53b2490_verboseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock options</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_35eef4ce-7305-4409-a08e-15a1301b2955_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies and Reclassification</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_e19a13e6-0538-4418-9581-d50197a9842e_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_511d2a84-f86e-434f-bd94-8071592513a0_terseLabel_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of cash bonus payment on initial targets</link:label>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_label_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</link:label>
    <link:label id="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_documentation_en-US" xlink:label="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:href="appf-20201231.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:to="lab_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_30a1fa63-9bbb-4aa9-89f1-aea2b3c8cac5_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs granted in 2019</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsGrantedin2019Member_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units Granted in 2019 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsGrantedin2019Member" xlink:to="lab_appf_PerformanceStockUnitsGrantedin2019Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9bd09a6d-b210-4643-86be-da0c96f26d86_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2fc41e5b-f894-4449-80c3-04975411f958_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average common shares outstanding; basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_0d8fbd04-0da9-4897-9202-77794e1d80f0_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Meals and entertainment</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_1ac55d40-61b9-4594-9317-8ed4a39a931e_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable rate, basis spread percent</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostsAndExpensesAbstract_d7470f78-82b3-4b31-9316-8984b85b46c6_terseLabel_en-US" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and operating expenses:</link:label>
    <link:label id="lab_us-gaap_CostsAndExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_CostsAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs and Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpensesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostsAndExpensesAbstract" xlink:to="lab_us-gaap_CostsAndExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentInformationLineItems_99777873-4e44-47fd-abb6-60c3293b4910_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label id="lab_dei_DocumentInformationLineItems_label_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationLineItems" xlink:to="lab_dei_DocumentInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockShares_024e17b6-ae5c-451a-b79d-3b392e244765_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockShares_label_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockShares" xlink:to="lab_us-gaap_TreasuryStockShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_87e334f6-b6d7-4cab-9d5b-b7c9c99fbf03_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred</link:label>
    <link:label id="lab_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="lab_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_PerformanceStockUnitsMember_84511ff2-6b01-4b4d-83fb-d4ca9f2c5b51_terseLabel_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsMember_label_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units [Member]</link:label>
    <link:label id="lab_appf_PerformanceStockUnitsMember_documentation_en-US" xlink:label="lab_appf_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_PerformanceStockUnitsMember" xlink:to="lab_appf_PerformanceStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_2204703b-3cfa-4595-8beb-baa44881c6ef_terseLabel_en-US" xlink:label="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leased area (sq ft)</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_label_en-US" xlink:label="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Square Feet Of Leased Area</link:label>
    <link:label id="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_documentation_en-US" xlink:label="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Square Feet Of Leased Area</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseSquareFeetOfLeasedArea"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:to="lab_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_e782a6d5-5568-4bba-b0ba-2d14b1f2bf02_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and local</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossContingenciesTable_fee6f6fa-e2ef-4e78-9e46-fd7bad054a22_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesTable_label_en-US" xlink:label="lab_us-gaap_LossContingenciesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesTable" xlink:to="lab_us-gaap_LossContingenciesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_8049c999-feaf-40ca-9062-c253827c6bc2_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_86b67a7b-500c-474a-9d7b-95b147851781_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_b92cafbd-4d18-4392-ae5f-7b7463122743_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_40adf907-8512-459d-955a-fe49e2b8fa44_terseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-use assets obtained in exchange for operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_ContractTermSubscriptionAgreement_b8584295-2c6f-4ebf-a4c7-415bd1407619_terseLabel_en-US" xlink:label="lab_appf_ContractTermSubscriptionAgreement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subscription agreement term</link:label>
    <link:label id="lab_appf_ContractTermSubscriptionAgreement_label_en-US" xlink:label="lab_appf_ContractTermSubscriptionAgreement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract Term, Subscription Agreement</link:label>
    <link:label id="lab_appf_ContractTermSubscriptionAgreement_documentation_en-US" xlink:label="lab_appf_ContractTermSubscriptionAgreement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract Term, Subscription Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ContractTermSubscriptionAgreement" xlink:href="appf-20201231.xsd#appf_ContractTermSubscriptionAgreement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_ContractTermSubscriptionAgreement" xlink:to="lab_appf_ContractTermSubscriptionAgreement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_8dbf6866-2788-4922-90c5-8cb234fde196_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_1cc55acc-9e84-4199-8919-23ee91091b3a_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_9cb65889-b28f-4694-8562-8f75c912e5b6_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_0c22f4e1-7c7d-4d08-9eb5-161b4aca2c66_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for (benefit from) income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_d4fa6de9-f98d-4a83-8d7f-f621041587a1_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total income tax provision (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_2f20ee65-5a39-40f1-8958-be3028ecf63e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Units Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_de163b4a-64c7-4b6c-8787-04ca9550dab6_terseLabel_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Working capital adjustment</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_label_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Working Capital Adjustment</link:label>
    <link:label id="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_documentation_en-US" xlink:label="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Working Capital Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:to="lab_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e8458de6-b1e0-435b-9b47-242bec19db89_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_569a90ea-eb47-4ce7-81a2-a223c8c00f1e_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">End of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_074d3fb9-007b-4720-803e-f9eecbf12b00_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_74a01b80-4fad-49db-9649-58f4df331878_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">401k cash contributions</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_45c51c83-249f-4d54-98bb-49cdadf895d0_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_f3c7815e-b07c-4dd2-bfa2-63344bc76432_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease renewal term</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTable_921dcfdc-d3b0-4db2-a246-cccfe090d389_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Table]</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTable_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_f7cfc5e8-533f-4aa3-a348-798917751558_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Table]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_23a14f35-5ed6-4db4-8bbc-32c6fc364b1f_terseLabel_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance-based cash bonus payment, percent</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_label_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</link:label>
    <link:label id="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_documentation_en-US" xlink:label="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:to="lab_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_677fd55b-0f6a-4d4e-a7a3-8102562a00bf_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_69d244a1-5e2f-4a8d-9658-74ee131ce403_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_CommonClassBToCommonClassAMember_1b431785-97e5-44fa-b43f-652c25d3177b_terseLabel_en-US" xlink:label="lab_appf_CommonClassBToCommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B To Common Class A</link:label>
    <link:label id="lab_appf_CommonClassBToCommonClassAMember_label_en-US" xlink:label="lab_appf_CommonClassBToCommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B To Common Class A [Member]</link:label>
    <link:label id="lab_appf_CommonClassBToCommonClassAMember_documentation_en-US" xlink:label="lab_appf_CommonClassBToCommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B To Common Class A [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonClassBToCommonClassAMember" xlink:href="appf-20201231.xsd#appf_CommonClassBToCommonClassAMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_CommonClassBToCommonClassAMember" xlink:to="lab_appf_CommonClassBToCommonClassAMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_f4237d73-15ad-471b-aa6b-030f1e79d3ca_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sales of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_75e71452-1e53-480a-bf0e-88df52835015_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Proceeds from Sales</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:to="lab_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_0c1bef46-6cf5-4957-b501-46223648075d_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_9a5f2bd4-9ba5-4675-9bb3-b11bf8fbcf36_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Pro Forma Information</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_db199291-7068-48d0-b413-7f729a816d89_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_3fa035ef-cbfe-4236-a9bf-2a7ec73a2e93_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_7df62e83-b4a0-42d6-8c96-5cba04570a76_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tranche one</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Tranche One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_93576c90-a538-4787-b21c-ea01af3ae4c7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable" xlink:to="lab_us-gaap_ScheduleOfStockByClassTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_d83daa5e-99bf-476d-ae82-44914a57ad7f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intrinsic value of options exercised</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_7be7ab1c-9b59-4060-8b2e-fa4943d39f0e_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax expense relating to the MyCase transaction</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Tax Effect of Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:to="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_d45e4532-7da1-4965-abea-76e5f9df820b_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_4e7a184c-970a-461a-8dcf-3d0a6cd69841_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal amounts due under Term Loan</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_184fe2b8-9cb8-4bfc-a435-75a22d976702_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Long-term Debt</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_0a4d242b-9381-4fba-bbdf-49fab8e0fff1_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation expense on property and equipment</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_ffa95859-0c1d-4a8f-9987-d6f165b5d154_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_0729a410-a9b6-40ef-b313-12b341a0d32e_verboseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreement</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_55ce98f6-5108-448e-9c16-cdbf0085973c_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_label_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember" xlink:to="lab_us-gaap_NoncompeteAgreementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_490985d0-d851-490c-a8a1-2efdb504b0f9_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of business, net of cash divested</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Businesses, Net of Cash Divested</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_8aa10ab4-2db8-4695-b530-318574e5cacb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_ee98ea6d-1ddd-4e6b-a1b9-85c3abe7257e_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_dc2670e8-8348-48a4-93b1-125c2591ed88_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_59f788bd-2ae0-491d-8a98-dfce67a7ace2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_77af3346-c768-4005-8fb5-ab43a1d1caf2_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaRevenue_f00bc77c-2ec6-42b1-81ac-3f557c36c097_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaRevenue_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_9164a5cc-7db2-4140-8dac-01992b5d7c03_verboseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and Marketing, General and Administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1db5c88b-6805-41c2-8745-32fc8c18625e_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_46a6d63e-ea93-4925-87bb-cce6dead8aa2_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_bc3f97ad-7f19-4446-9fd0-e0d70d01ca6b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8c981edc-fd60-48d8-8e92-80a97f8548d0_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_0fd97597-7542-4eef-b7ac-50b9c7602e52_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfSecuredDebt_d1f37a6a-8fc8-4078-a485-bd23705aaad3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal payments on debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfSecuredDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Secured Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfSecuredDebt" xlink:to="lab_us-gaap_RepaymentsOfSecuredDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_b7427d34-ee78-4a93-bef7-a5144e913b8e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of shares vested</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_304d5a35-8752-43c6-a51d-c148e1761572_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FederalFundsEffectiveSwapRateMember_61c87276-d138-4d86-9074-4e28232f6585_terseLabel_en-US" xlink:label="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal funds rate</link:label>
    <link:label id="lab_us-gaap_FederalFundsEffectiveSwapRateMember_label_en-US" xlink:label="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fed Funds Effective Rate Overnight Index Swap Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:to="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_b2183bf6-d90b-4455-8c33-8fa372ec10be_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other noncurrent assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_96ec4977-5233-480e-a36b-5121a1e8a5d8_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_38bff20f-2fdf-401c-bb17-f27e8603debe_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_c18b7e9b-fea2-4d8c-8677-27ac5918d8ea_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings/Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_ded5f630-7e8c-46d7-9487-d990b80cf077_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementBasisAxis_6679e0cb-bd91-4581-8ef6-aab0e6c2ddf3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Basis [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementBasisAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Basis [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis" xlink:to="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_ce7266f2-f201-4fc9-8fe7-4036f2863841_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_label_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_95d61700-1549-4a18-89c6-cd7ee97fc9c6_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for (benefit from) income taxes</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_f1579f22-d9f4-4c00-b41c-16265672e3c1_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_5b1abd8a-212b-48a2-85a1-23fff6d9aec5_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_155ee2d6-37da-450c-b7a4-791077830d24_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, weighted average remaining contractual life (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_849b35e2-f022-4d24-8113-9e7cfd8e0b77_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ced5f848-2699-48e9-8561-b718eeec96e0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DatabaseMember_2de4d744-ba85-4f95-bb3c-c4088e3f1874_terseLabel_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database</link:label>
    <link:label id="lab_appf_DatabaseMember_label_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database [Member]</link:label>
    <link:label id="lab_appf_DatabaseMember_documentation_en-US" xlink:label="lab_appf_DatabaseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Database [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember" xlink:href="appf-20201231.xsd#appf_DatabaseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DatabaseMember" xlink:to="lab_appf_DatabaseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_8b20af33-c6b9-479f-9446-644e90a7c8c4_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashDivestedFromDeconsolidation_4685f4a5-8abb-482a-a5d5-a76d6cc1e29e_terseLabel_en-US" xlink:label="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash divested</link:label>
    <link:label id="lab_us-gaap_CashDivestedFromDeconsolidation_label_en-US" xlink:label="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Divested from Deconsolidation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashDivestedFromDeconsolidation" xlink:to="lab_us-gaap_CashDivestedFromDeconsolidation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_9a8a6134-9a69-45ff-9c8b-3fddc151103c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercisable, weighted average exercise price (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_7e46c687-0c2f-401c-bd29-c79f09f54c16_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain" xlink:to="lab_us-gaap_DisposalGroupClassificationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_6ae85b9e-4558-40e4-b880-21839b4626c6_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_60a6cab6-aca1-492d-9685-2b282c6e9861_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unused capacity, commitment fee percentage</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_37f7552f-ed53-4ffe-98dd-7aec9470adc8_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Table]</link:label>
    <link:label id="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_label_en-US" xlink:label="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:to="lab_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SummaryOfValuationAllowanceTextBlock_53b9a557-ec88-4512-818f-96a6b5bf814c_terseLabel_en-US" xlink:label="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Valuation Allowance</link:label>
    <link:label id="lab_us-gaap_SummaryOfValuationAllowanceTextBlock_label_en-US" xlink:label="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Valuation Allowance [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:to="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValue_30ba311b-3957-4be7-8657-ae1ae0570cae_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, at cost, 419 and 371 shares of Class A common stock as of December&#160;31, 2020 and December&#160;31, 2019, respectively</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OfficeEquipmentMember_2a0e86d4-8bbb-4641-909a-3f178fd6f3de_terseLabel_en-US" xlink:label="lab_us-gaap_OfficeEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Office equipment</link:label>
    <link:label id="lab_us-gaap_OfficeEquipmentMember_label_en-US" xlink:label="lab_us-gaap_OfficeEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Office Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OfficeEquipmentMember" xlink:to="lab_us-gaap_OfficeEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_1cad8389-0c8e-4dea-9bd2-623c217ef2ac_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_bdb1f3e3-ec62-4a62-8a51-b61f93b1de34_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_81c9f337-b0e3-4479-a56c-becbd9790b7e_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. federal statutory income tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_4b81828d-7229-4acb-8670-5dc789f86c67_terseLabel_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_label_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</link:label>
    <link:label id="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_documentation_en-US" xlink:label="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:href="appf-20201231.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:to="lab_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_0327cd02-40a0-4bb5-9afc-61c514f22f78_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_6d2acf83-beb1-48bb-8b8f-e7420d9b3eef_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value, measurements, recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_cf37952d-f3ff-4a88-adcd-e022db4f643c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested and expected to vest, weighted average exercise price (usd per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_30fb1ae1-c794-4481-a911-5be3eea375e5_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_d05ff6dd-6e87-4d46-ba44-6f5204859a4a_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recent Accounting Pronouncements and Recent Accounting Pronouncements Not Yet Adopted</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_6e27c96a-3b49-413e-948d-1d3c847eb1df_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_67e0b560-b99f-4d17-85c0-2947ae7bd68c_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>appf-20201231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2021 Workiva-->
<!--r:bc091c1c-a5b5-4031-8047-9885e75f0019,g:909042be-9ffb-4b7a-a391-e162ab8e3f01-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.appfolio.com/role/Cover" xlink:type="simple" xlink:href="appf-20201231.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_271f25fa-53f8-430d-81ae-df2ee6736dac" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_271f25fa-53f8-430d-81ae-df2ee6736dac" xlink:to="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:to="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_d64631c7-05eb-40ea-86c2-5b63067f718f" xlink:to="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_b3d2b713-b1bf-4a3f-931c-e1230ed92c2d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:to="loc_us-gaap_CommonClassAMember_b3d2b713-b1bf-4a3f-931c-e1230ed92c2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_6ab8d8c3-4f11-4904-adc9-18726676333b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_46e503d9-b14c-42ae-8eaa-fd36660d5122" xlink:to="loc_us-gaap_CommonClassBMember_6ab8d8c3-4f11-4904-adc9-18726676333b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_1fdbdeac-e11d-477a-9292-d685ee19b6ef" xlink:to="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_f1d9dfc1-09bd-4e9c-84e3-6273c365d203" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentType_f1d9dfc1-09bd-4e9c-84e3-6273c365d203" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_d5efc8d2-004c-47db-829d-874c9d5f8e4a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentAnnualReport_d5efc8d2-004c-47db-829d-874c9d5f8e4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_1ad530e0-ea7a-4ce2-999c-4048ea6f85bf" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentPeriodEndDate_1ad530e0-ea7a-4ce2-999c-4048ea6f85bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_fea3fda7-1499-4ef7-8746-74a91cb21c55" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_CurrentFiscalYearEndDate_fea3fda7-1499-4ef7-8746-74a91cb21c55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_35fa8959-ab98-4e8d-b3fc-42d81208311b" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentTransitionReport_35fa8959-ab98-4e8d-b3fc-42d81208311b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_312e2e94-391c-4e0a-9ae5-88599b47f269" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityFileNumber_312e2e94-391c-4e0a-9ae5-88599b47f269" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_65b24ec5-3c2c-464c-8ffd-0768c3e3c690" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityRegistrantName_65b24ec5-3c2c-464c-8ffd-0768c3e3c690" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_ce429835-817a-4a42-ba6b-4e98e41de8f3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityIncorporationStateCountryCode_ce429835-817a-4a42-ba6b-4e98e41de8f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_4f0bb5ca-2abb-408b-902a-cf7c4ed8e4d6" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityTaxIdentificationNumber_4f0bb5ca-2abb-408b-902a-cf7c4ed8e4d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_d3af76c4-ff55-4a79-990d-1bd5f08e35fa" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressAddressLine1_d3af76c4-ff55-4a79-990d-1bd5f08e35fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_30ae7f05-d1e1-4376-b6d7-99b08426f12e" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressCityOrTown_30ae7f05-d1e1-4376-b6d7-99b08426f12e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_09e5f1b5-20b3-4048-8ccc-1775ca86a3ac" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressStateOrProvince_09e5f1b5-20b3-4048-8ccc-1775ca86a3ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_2b012fc1-2b65-4219-ba4d-e6208bfb9854" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityAddressPostalZipCode_2b012fc1-2b65-4219-ba4d-e6208bfb9854" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_a01fcded-ce05-45e6-a1a2-d2d2d909a351" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_CityAreaCode_a01fcded-ce05-45e6-a1a2-d2d2d909a351" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_27fcb985-7aa3-4fa7-a563-768c0b7b2575" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_LocalPhoneNumber_27fcb985-7aa3-4fa7-a563-768c0b7b2575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_b7ed83ce-68f8-42fb-a587-fcb510843f91" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_Security12bTitle_b7ed83ce-68f8-42fb-a587-fcb510843f91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_73965b3b-601c-453e-a979-813ed162f0bb" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_TradingSymbol_73965b3b-601c-453e-a979-813ed162f0bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_817bd7fc-c68c-4594-9f36-c98366e94e27" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_SecurityExchangeName_817bd7fc-c68c-4594-9f36-c98366e94e27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_9736b813-bccc-4ad5-b4ba-0acbcf2dc4b7" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_9736b813-bccc-4ad5-b4ba-0acbcf2dc4b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_d9c814dc-d476-4e41-9de7-31b5d5ba4589" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityVoluntaryFilers_d9c814dc-d476-4e41-9de7-31b5d5ba4589" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_b1738bed-ff12-40c6-b65d-31ad43723cea" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCurrentReportingStatus_b1738bed-ff12-40c6-b65d-31ad43723cea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_d85be238-be75-4e06-a347-05bfd01d64a3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityInteractiveDataCurrent_d85be238-be75-4e06-a347-05bfd01d64a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_f359cf08-e827-4a0b-a57f-5c30b08f3144" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityFilerCategory_f359cf08-e827-4a0b-a57f-5c30b08f3144" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_cb9a54e9-d7f4-4591-9edb-a23e781cedf7" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntitySmallBusiness_cb9a54e9-d7f4-4591-9edb-a23e781cedf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_55f50310-2efb-47ed-89b9-345783e6e89a" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityEmergingGrowthCompany_55f50310-2efb-47ed-89b9-345783e6e89a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_e92a9665-3cab-41e1-9401-207d26b035ed" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_IcfrAuditorAttestationFlag_e92a9665-3cab-41e1-9401-207d26b035ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_1372b835-43e8-4df6-8bc9-c1edb7641267" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityShellCompany_1372b835-43e8-4df6-8bc9-c1edb7641267" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_80a062d2-7cf9-45b6-b433-df6940ce9950" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityPublicFloat_80a062d2-7cf9-45b6-b433-df6940ce9950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_332e56ec-0d30-41e2-8089-46e97d6f6dd9" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_332e56ec-0d30-41e2-8089-46e97d6f6dd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_a39a6278-82dc-44d4-85ad-68003a908da3" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_a39a6278-82dc-44d4-85ad-68003a908da3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_50ec9af9-2c1c-42da-a0db-6c942f99ed6d" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_EntityCentralIndexKey_50ec9af9-2c1c-42da-a0db-6c942f99ed6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_f599a05b-39e1-481d-99dd-a8d0128c0865" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentFiscalYearFocus_f599a05b-39e1-481d-99dd-a8d0128c0865" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_62bcd0dc-8669-4a52-8994-dc2c8b37f240" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_DocumentFiscalPeriodFocus_62bcd0dc-8669-4a52-8994-dc2c8b37f240" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_8ffdb59f-4e9f-4613-abea-d7dca154b6ba" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_50a98cb9-5e57-44c4-9280-094ccc61845f" xlink:to="loc_dei_AmendmentFlag_8ffdb59f-4e9f-4613-abea-d7dca154b6ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_68a21e08-f605-44d7-959d-ed68b24d3119" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_68a21e08-f605-44d7-959d-ed68b24d3119" xlink:to="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:to="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c485a9b3-ba63-463e-b895-ca4ea06ef890" xlink:to="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_2d2b0459-256e-491d-a24c-0424c62b69ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:to="loc_us-gaap_CommonClassAMember_2d2b0459-256e-491d-a24c-0424c62b69ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_e14b367f-1f3d-42b9-81e1-2ebaa5262dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_76eb6784-0824-43cc-8806-69325e7402e2" xlink:to="loc_us-gaap_CommonClassBMember_e14b367f-1f3d-42b9-81e1-2ebaa5262dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0a63e0b0-7a0e-4342-b7b9-7156262339b3" xlink:to="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_39e88274-6b5e-457c-a00a-d5f2d195016b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_39e88274-6b5e-457c-a00a-d5f2d195016b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_fc15d74e-56fa-49b7-b510-21418ba3339d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_fc15d74e-56fa-49b7-b510-21418ba3339d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5bf0dbf6-e9e8-4af1-93bc-376ae545cedc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5bf0dbf6-e9e8-4af1-93bc-376ae545cedc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_a9f71801-7924-4335-81f4-ef5248d35350" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_a9f71801-7924-4335-81f4-ef5248d35350" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_40680689-eac9-4c77-b617-448386fec74c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_503bb5f3-16a4-47c6-8391-a2e15475507e" xlink:to="loc_us-gaap_AssetsCurrent_40680689-eac9-4c77-b617-448386fec74c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e4c51396-9774-4239-938b-d5af12080b0b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e4c51396-9774-4239-938b-d5af12080b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_5ea31a82-c1aa-4a29-aac1-906a1c395721" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_5ea31a82-c1aa-4a29-aac1-906a1c395721" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_dffeac8f-a03f-4ea1-bd1c-6112c636a8fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_dffeac8f-a03f-4ea1-bd1c-6112c636a8fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_14e2311c-dcf0-4db7-8660-4a262f0a742e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_14e2311c-dcf0-4db7-8660-4a262f0a742e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_8e93095f-a899-466b-9c5a-5b5f1630e4d1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_Goodwill_8e93095f-a899-466b-9c5a-5b5f1630e4d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_e9a7b9ef-cf11-45df-88c3-493968dd82da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_e9a7b9ef-cf11-45df-88c3-493968dd82da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_f78ef3c2-d4f8-4a59-bfa1-4fbb0d869d45" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_f78ef3c2-d4f8-4a59-bfa1-4fbb0d869d45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9212e399-00c6-4245-a10f-970221c4388f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9212e399-00c6-4245-a10f-970221c4388f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_52b9a62e-9d6f-4ab0-b2b3-948675672596" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8917ff63-f7be-4af0-b3ed-f4dc0700fd35" xlink:to="loc_us-gaap_Assets_52b9a62e-9d6f-4ab0-b2b3-948675672596" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_38a84d1c-d25a-4a36-8cc4-131ec86c2807" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_AccountsPayableCurrent_38a84d1c-d25a-4a36-8cc4-131ec86c2807" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_b887fc2e-89aa-4b50-9627-f11ab05d8049" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_b887fc2e-89aa-4b50-9627-f11ab05d8049" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_0d23324e-5db6-4987-9f2e-060282785e62" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_0d23324e-5db6-4987-9f2e-060282785e62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c8274f0d-4a40-40c0-bd5e-59a83605b958" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_c8274f0d-4a40-40c0-bd5e-59a83605b958" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_2ea8984c-c1c5-4d1c-aa09-84e0136bf24e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_TaxesPayableCurrent_2ea8984c-c1c5-4d1c-aa09-84e0136bf24e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_879feb22-43cc-44f2-8bc9-e9beb4507a3a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_879feb22-43cc-44f2-8bc9-e9beb4507a3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_82bdc2da-7cb2-4d8b-9868-6956e81aebf1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_LongTermDebtCurrent_82bdc2da-7cb2-4d8b-9868-6956e81aebf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_18b9deaf-01ed-4db3-a2d6-44f4af0dfdd2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_032bc17e-6335-4092-abc1-2c2a98b6bc97" xlink:to="loc_us-gaap_LiabilitiesCurrent_18b9deaf-01ed-4db3-a2d6-44f4af0dfdd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_944cbf05-9c5f-4359-a37c-627d85df44ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_944cbf05-9c5f-4359-a37c-627d85df44ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredLongTermDebt_b7fc0cfa-0c2c-4b3a-b322-e1a825bb83e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredLongTermDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_SecuredLongTermDebt_b7fc0cfa-0c2c-4b3a-b322-e1a825bb83e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5b6c6fa8-5e52-4aa3-a9a7-c7a2f9f4c191" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_5b6c6fa8-5e52-4aa3-a9a7-c7a2f9f4c191" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5af080a0-98f0-4168-a951-d6a4589db4d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_Liabilities_5af080a0-98f0-4168-a951-d6a4589db4d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_bdf4e9fa-a7db-405d-b3f1-995191931c6b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_CommitmentsAndContingencies_bdf4e9fa-a7db-405d-b3f1-995191931c6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_208a60a8-f4c0-4408-ba3d-702a86d0c8c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_PreferredStockValue_208a60a8-f4c0-4408-ba3d-702a86d0c8c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_d3315591-86d8-4129-b512-edf350db683d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_CommonStockValue_d3315591-86d8-4129-b512-edf350db683d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_2cd1eac7-efb4-468e-95dc-f99affdab81a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_AdditionalPaidInCapital_2cd1eac7-efb4-468e-95dc-f99affdab81a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_0a344fdc-b953-40a7-b4d6-363430a819e1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_0a344fdc-b953-40a7-b4d6-363430a819e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_43b83c4f-b08c-42d9-ae1a-a7776589e535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_TreasuryStockValue_43b83c4f-b08c-42d9-ae1a-a7776589e535" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_87a11a9b-42f5-4ba8-bfda-551005d7b39d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_87a11a9b-42f5-4ba8-bfda-551005d7b39d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bfc27da7-8d71-44a2-bb0f-eb2681bc8282" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_a286a601-ab95-4e70-97af-cfd1e7b3c698" xlink:to="loc_us-gaap_StockholdersEquity_bfc27da7-8d71-44a2-bb0f-eb2681bc8282" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_ffafd5cf-3c41-475a-9d54-30a92f5b81c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_1e33c7ca-c180-4c4a-a063-f8132a19352f" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_ffafd5cf-3c41-475a-9d54-30a92f5b81c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e1d5395f-b5a4-46eb-a6bc-912b8cfac76f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_e1d5395f-b5a4-46eb-a6bc-912b8cfac76f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_48e28ce6-8012-44a5-8beb-8b04a5366c8b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_48e28ce6-8012-44a5-8beb-8b04a5366c8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_430fb47f-d761-4055-a148-75ca3721db31" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesIssued_430fb47f-d761-4055-a148-75ca3721db31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_22404db2-89f7-489d-bf26-bb0f0e320ba8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_22404db2-89f7-489d-bf26-bb0f0e320ba8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_63091d3b-4f1a-486a-a93c-50909187c06d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_63091d3b-4f1a-486a-a93c-50909187c06d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_09135f19-58a7-4087-a615-577009e5c013" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_09135f19-58a7-4087-a615-577009e5c013" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_06b6c7d0-0ece-4ac9-887f-e0c65621acd9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesIssued_06b6c7d0-0ece-4ac9-887f-e0c65621acd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_eb8f89f7-205c-40fa-b78e-3884da121a6a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_eb8f89f7-205c-40fa-b78e-3884da121a6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_8f514d23-4e3b-4009-9e40-0ae8eb87ab20" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d3153515-ece7-4928-b25c-261113153786" xlink:to="loc_us-gaap_TreasuryStockShares_8f514d23-4e3b-4009-9e40-0ae8eb87ab20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_e6d23d6f-e728-44a4-81ca-0c674bc657ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6d23d6f-e728-44a4-81ca-0c674bc657ed" xlink:to="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:to="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_cf126385-8465-4449-8f66-6d7700bbc7fd" xlink:to="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_8c6098e7-fb1a-465c-a7fa-b6614886d3ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:to="loc_us-gaap_CommonClassAMember_8c6098e7-fb1a-465c-a7fa-b6614886d3ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_266b3cf4-7aa3-44f5-97b2-127ad84abd1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_7a15628b-475e-42a6-8f6d-bd572c98e474" xlink:to="loc_us-gaap_CommonClassBMember_266b3cf4-7aa3-44f5-97b2-127ad84abd1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_46202890-92ad-417a-9ca3-363f6e2f9280" xlink:to="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_72720601-9986-458d-a574-204ee013fc5b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_72720601-9986-458d-a574-204ee013fc5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_683a8cae-6fa5-4999-954e-21745676667a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_683a8cae-6fa5-4999-954e-21745676667a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_304f2954-bcb4-47cc-85af-41c1419f4258" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesIssued_304f2954-bcb4-47cc-85af-41c1419f4258" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_99d29075-f1fc-450e-9f13-a3cab77726b5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_99d29075-f1fc-450e-9f13-a3cab77726b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_f388b821-21b5-46a9-bdfa-60cab7ca0bcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_f388b821-21b5-46a9-bdfa-60cab7ca0bcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_62f32698-fde1-40c8-9bd8-e2aecd32fca0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_62f32698-fde1-40c8-9bd8-e2aecd32fca0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_cca0811a-2656-44f0-a620-b785dc3f379c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesIssued_cca0811a-2656-44f0-a620-b785dc3f379c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_7c9eb3d7-cb70-4dab-a945-7ea407621b2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_7c9eb3d7-cb70-4dab-a945-7ea407621b2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_5590b604-8e2f-468f-8e32-ab88f669ae83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_c5298a3a-6cea-48f6-8ae9-0102aafe4ccc" xlink:to="loc_us-gaap_TreasuryStockShares_5590b604-8e2f-468f-8e32-ab88f669ae83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_13ea635a-6e66-4fac-accf-94d0773854fd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_13ea635a-6e66-4fac-accf-94d0773854fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpensesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_65a74886-45f2-42cf-ac65-62306c1cbe64" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_65a74886-45f2-42cf-ac65-62306c1cbe64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_994a1c06-17e0-4c88-93a6-b2915d16087c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_SellingAndMarketingExpense_994a1c06-17e0-4c88-93a6-b2915d16087c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_6790cbda-aa9a-4c57-95b7-0ba0179c7da5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_6790cbda-aa9a-4c57-95b7-0ba0179c7da5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_aab27060-17fc-419a-9e75-be420f386e40" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_aab27060-17fc-419a-9e75-be420f386e40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_542698b7-03c4-4dfd-83d6-087ce9766867" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_542698b7-03c4-4dfd-83d6-087ce9766867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostsAndExpenses_d5d0156d-6a0b-4c92-838e-d9d85ec5050f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostsAndExpenses"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostsAndExpensesAbstract_18dc685e-6112-4596-9edb-e92163db2192" xlink:to="loc_us-gaap_CostsAndExpenses_d5d0156d-6a0b-4c92-838e-d9d85ec5050f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_bf5b8a9c-17ec-4d39-bb91-a7533ad83194" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_OperatingIncomeLoss_bf5b8a9c-17ec-4d39-bb91-a7533ad83194" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_b06e4b08-c977-41ab-a396-227526f1197b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_b06e4b08-c977-41ab-a396-227526f1197b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_5a4822ea-3bdd-4bfd-be51-cc294020bcff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_5a4822ea-3bdd-4bfd-be51-cc294020bcff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_55c54a08-1ab9-4536-8c9f-a3363b990445" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_55c54a08-1ab9-4536-8c9f-a3363b990445" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_8d779304-b34d-4ec6-89eb-2eb98dd10e13" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_8d779304-b34d-4ec6-89eb-2eb98dd10e13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_63e2e91d-4d94-4b01-96ce-8bc5dd0f6aae" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_NetIncomeLoss_63e2e91d-4d94-4b01-96ce-8bc5dd0f6aae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_d0d62629-1d44-46e4-82a5-b9f9c85b13ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_EarningsPerShareAbstract_d0d62629-1d44-46e4-82a5-b9f9c85b13ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_6f32d003-0a05-4dcb-a30b-6bb9272fbc8f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_d0d62629-1d44-46e4-82a5-b9f9c85b13ee" xlink:to="loc_us-gaap_EarningsPerShareBasic_6f32d003-0a05-4dcb-a30b-6bb9272fbc8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_d3f6d1f3-870c-4768-8f0b-8901c3451cf7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_d0d62629-1d44-46e4-82a5-b9f9c85b13ee" xlink:to="loc_us-gaap_EarningsPerShareDiluted_d3f6d1f3-870c-4768-8f0b-8901c3451cf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a2f13dc5-26f1-4f81-8b35-26c50aae179f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d9e60e8f-2bf5-4333-bf79-5f1338e8dafa" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a2f13dc5-26f1-4f81-8b35-26c50aae179f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5bd90366-dc64-4fe6-a5bc-953cfedc8e77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a2f13dc5-26f1-4f81-8b35-26c50aae179f" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5bd90366-dc64-4fe6-a5bc-953cfedc8e77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_09ff8329-12c3-4a5b-83e1-57fe3d49955c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_a2f13dc5-26f1-4f81-8b35-26c50aae179f" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_09ff8329-12c3-4a5b-83e1-57fe3d49955c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofComprehensiveIncomeLoss"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_eda5ef2d-b745-4b44-9faf-76cf16f7568b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_fb875584-2b09-48d8-8f68-a64f49b808d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_eda5ef2d-b745-4b44-9faf-76cf16f7568b" xlink:to="loc_us-gaap_NetIncomeLoss_fb875584-2b09-48d8-8f68-a64f49b808d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_b51fa5ce-4179-4ec1-9582-5c7ca198044f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_eda5ef2d-b745-4b44-9faf-76cf16f7568b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_b51fa5ce-4179-4ec1-9582-5c7ca198044f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9d6c8105-f1fd-4ced-8e48-d27380cce6cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_b51fa5ce-4179-4ec1-9582-5c7ca198044f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9d6c8105-f1fd-4ced-8e48-d27380cce6cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_333dbadf-adac-4703-932e-7d364158fbc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_eda5ef2d-b745-4b44-9faf-76cf16f7568b" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_333dbadf-adac-4703-932e-7d364158fbc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofStockholdersEquityDeficit"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_28654e8f-6560-499b-a7fd-b058141e66e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_28654e8f-6560-499b-a7fd-b058141e66e9" xlink:to="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_67f10ff0-446a-4fb5-bb80-8693119dc530" xlink:to="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_477bcdee-6ad4-4d74-b2f8-3975e840786a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_CommonStockMember_477bcdee-6ad4-4d74-b2f8-3975e840786a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_14538369-aeb9-4dbd-849d-0e67812b7e90" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_14538369-aeb9-4dbd-849d-0e67812b7e90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_00f547ae-a0ce-4ff1-9545-4124a491e7ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_00f547ae-a0ce-4ff1-9545-4124a491e7ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_7c54b1a7-50de-4862-902b-cdcb1c15bf42" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_TreasuryStockMember_7c54b1a7-50de-4862-902b-cdcb1c15bf42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_b2df796e-8a6c-4e3c-92e8-3d480d0de8a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_fdcf459b-a7da-45b6-9a65-a27f403ac83c" xlink:to="loc_us-gaap_RetainedEarningsMember_b2df796e-8a6c-4e3c-92e8-3d480d0de8a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_636a60c6-2f1f-4ca7-bb96-e2e16579daa0" xlink:to="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_8a84415f-5a3f-40b3-85fc-e20b28c7226a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:to="loc_us-gaap_CommonClassAMember_8a84415f-5a3f-40b3-85fc-e20b28c7226a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_bf438bbc-e293-49ee-a59f-366b3d5b825c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_3a56e94d-5219-4766-91bd-1e7b27513269" xlink:to="loc_us-gaap_CommonClassBMember_bf438bbc-e293-49ee-a59f-366b3d5b825c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_9c84cf74-beed-424a-846c-203194f386ed" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_32f9e407-0554-4620-983b-489a6077fb51" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_c12f46be-60ce-4635-91bc-71542530915d" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_32f9e407-0554-4620-983b-489a6077fb51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_5583b1f2-87bf-416b-925c-3d3ae6ff3c15" xlink:to="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_fbec78cc-647b-44e5-9cd1-e36252329535" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_9d8d3c35-373d-4146-a43f-9d4b68ef61b6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_SharesOutstanding_9d8d3c35-373d-4146-a43f-9d4b68ef61b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4e6d166c-90a9-4c3f-9dd8-bb4344296aff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockholdersEquity_4e6d166c-90a9-4c3f-9dd8-bb4344296aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_7d11673d-e403-4a69-9ef0-b9c65dd5831a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_7d11673d-e403-4a69-9ef0-b9c65dd5831a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7d5fa515-db65-4cd3-9c6a-281d29748e0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7d5fa515-db65-4cd3-9c6a-281d29748e0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef160174-3e41-4d2b-af5e-437e1892afcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef160174-3e41-4d2b-af5e-437e1892afcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_20ccd02e-2b27-4844-a987-a051a0ad6233" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings_20ccd02e-2b27-4844-a987-a051a0ad6233" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_be4a0e39-b9c7-44d0-9bed-48c83ac92ac6" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings_be4a0e39-b9c7-44d0-9bed-48c83ac92ac6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_81eda0ff-3762-46e5-befe-cbeca3984dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions_81eda0ff-3762-46e5-befe-cbeca3984dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockSharesConverted1_52d1593b-533a-4434-b389-49e3af184011" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockSharesConverted1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_ConversionOfStockSharesConverted1_52d1593b-533a-4434-b389-49e3af184011" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockAmountConverted1_c7036929-634b-4e10-aa01-d3bea324ec83" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockAmountConverted1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_ConversionOfStockAmountConverted1_c7036929-634b-4e10-aa01-d3bea324ec83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_721c26c5-dd6b-4271-bcd0-206d63a1b180" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_721c26c5-dd6b-4271-bcd0-206d63a1b180" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_52ecf01b-f8cb-4635-be49-1a2c445791cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_52ecf01b-f8cb-4635-be49-1a2c445791cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_188954ba-1a85-44f0-b013-b7373d78e154" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_188954ba-1a85-44f0-b013-b7373d78e154" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_914eb907-0a99-4de8-b978-f77b66f0a4c5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_914eb907-0a99-4de8-b978-f77b66f0a4c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_7070f002-9eb1-4f27-88e4-3cd3db384ece" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_7070f002-9eb1-4f27-88e4-3cd3db384ece" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList_7da8060c-a63a-440a-9324-911637afab75" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_AccountingStandardsUpdateExtensibleList_7da8060c-a63a-440a-9324-911637afab75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e66a4c7e-c0cc-4244-a5a2-f72e0e3c3f84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_NetIncomeLoss_e66a4c7e-c0cc-4244-a5a2-f72e0e3c3f84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_a9e5ca1f-c56a-4295-b605-f15cd6a88ce8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_SharesOutstanding_a9e5ca1f-c56a-4295-b605-f15cd6a88ce8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_fda1f920-9757-414c-8fda-bfcd956c4289" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3100157a-3b38-4c29-8694-e39603d70083" xlink:to="loc_us-gaap_StockholdersEquity_fda1f920-9757-414c-8fda-bfcd956c4289" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_2ecde8c2-d7ba-45c2-a1d5-24b8f6e6c42f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_2ecde8c2-d7ba-45c2-a1d5-24b8f6e6c42f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5ce895fe-9b3b-4aee-ad70-90ae59926941" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_2ecde8c2-d7ba-45c2-a1d5-24b8f6e6c42f" xlink:to="loc_us-gaap_NetIncomeLoss_5ce895fe-9b3b-4aee-ad70-90ae59926941" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_2ecde8c2-d7ba-45c2-a1d5-24b8f6e6c42f" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_e7bb59e4-c7e1-4167-bd8d-29dc88dfb6ae" xlink:href="appf-20201231.xsd#appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts_e7bb59e4-c7e1-4167-bd8d-29dc88dfb6ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_421b0df7-6b0f-4e97-9d15-b641c5ddf60a" xlink:href="appf-20201231.xsd#appf_AmortizationOfOperatingLeaseRightOfUseAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_appf_AmortizationOfOperatingLeaseRightOfUseAssets_421b0df7-6b0f-4e97-9d15-b641c5ddf60a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_be816739-499e-4640-9f1a-d607bf84263c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_be816739-499e-4640-9f1a-d607bf84263c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_57ae08b1-1780-451a-91d3-939b5b9d097a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_us-gaap_ShareBasedCompensation_57ae08b1-1780-451a-91d3-939b5b9d097a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_11e525c5-e195-40ac-8a4e-65fd33081705" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_11e525c5-e195-40ac-8a4e-65fd33081705" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_45e742a5-7da9-4518-b47d-8d6fd3ed0937" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_45e742a5-7da9-4518-b47d-8d6fd3ed0937" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3c8873ab-e917-4fb9-b39d-411528219fcc" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dfa5376b-a42d-4eec-9f3f-6a1503189374" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dfa5376b-a42d-4eec-9f3f-6a1503189374" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e2dcb6fa-dd8e-496a-9979-6376a34993a7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e2dcb6fa-dd8e-496a-9979-6376a34993a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_562b5de1-b4bd-447a-855a-5f649b473950" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_562b5de1-b4bd-447a-855a-5f649b473950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_fe94919b-b6f4-4f52-975d-d4c7457399ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_fe94919b-b6f4-4f52-975d-d4c7457399ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_c4b1d03d-24db-4f00-a9a0-5613b3f08753" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_c4b1d03d-24db-4f00-a9a0-5613b3f08753" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_5515c495-e4b5-49d0-b539-1557f58efb3f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_5515c495-e4b5-49d0-b539-1557f58efb3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_05a0afcb-5988-4bc2-9b5c-9d61a8a4c20a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_05a0afcb-5988-4bc2-9b5c-9d61a8a4c20a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_IncreaseDecreaseInOperatingLeases_b7d66be1-14c0-4096-9996-fb039bcfdc64" xlink:href="appf-20201231.xsd#appf_IncreaseDecreaseInOperatingLeases"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_appf_IncreaseDecreaseInOperatingLeases_b7d66be1-14c0-4096-9996-fb039bcfdc64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_5472944b-687b-412b-a5a3-89ef1506dfa6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_d56859df-4c62-47df-9219-192a6619215e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_5472944b-687b-412b-a5a3-89ef1506dfa6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e6495656-abb6-4b83-8b04-30133a0bd60a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_2ecde8c2-d7ba-45c2-a1d5-24b8f6e6c42f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e6495656-abb6-4b83-8b04-30133a0bd60a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_80e9f0d1-1fa4-4535-98a8-89df6368b87a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt_80e9f0d1-1fa4-4535-98a8-89df6368b87a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_7212fa5d-4e95-43e0-b572-49ba12ba0f06" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_7212fa5d-4e95-43e0-b572-49ba12ba0f06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_87dd24ad-6683-407f-8386-d92fed13d214" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_87dd24ad-6683-407f-8386-d92fed13d214" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_e850d001-3b2a-4be6-b041-af8653fe7fd0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_e850d001-3b2a-4be6-b041-af8653fe7fd0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_e4fcecc6-b087-49a5-a8b0-5e0a0a906e9d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_e4fcecc6-b087-49a5-a8b0-5e0a0a906e9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_d1a289ca-2429-4836-9a80-1792108742d3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_d1a289ca-2429-4836-9a80-1792108742d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_9aab5094-b7b5-4ce5-841d-23ff253b5bd9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_d643c533-ed41-47ab-8c3d-dbf16ed5a822" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_9aab5094-b7b5-4ce5-841d-23ff253b5bd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a6d09833-04e0-4020-be0d-40a91263ae2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a6d09833-04e0-4020-be0d-40a91263ae2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_a41c1369-7d7a-4d1e-8f17-f4e27852717e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_a41c1369-7d7a-4d1e-8f17-f4e27852717e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_f3d249d9-5130-4fd1-ab5c-bffc356498b5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_f3d249d9-5130-4fd1-ab5c-bffc356498b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_649cadb8-bdd5-4191-b077-4fe9f7bdc440" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_649cadb8-bdd5-4191-b077-4fe9f7bdc440" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_dd0697b8-34ab-4b0a-83a0-9e22e92e678e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSecuredDebt"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSecuredDebt_dd0697b8-34ab-4b0a-83a0-9e22e92e678e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfSecuredDebt_02bfdeba-3ac1-4afc-a91d-6e8a1285f223" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfSecuredDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_RepaymentsOfSecuredDebt_02bfdeba-3ac1-4afc-a91d-6e8a1285f223" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_fc581c8d-971f-4897-9ba1-ea831e1dc509" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_fc581c8d-971f-4897-9ba1-ea831e1dc509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_e52bff56-28ed-4ea5-a5ce-c2cba9f91b3d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_97d9ae25-f6e0-41fd-afc9-cdf4dc1267a5" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_e52bff56-28ed-4ea5-a5ce-c2cba9f91b3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_20781e47-0c0e-4698-a76e-adf6d178e7b2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_20781e47-0c0e-4698-a76e-adf6d178e7b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_1284f648-3d26-49c3-936e-e2d837678c08" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_1284f648-3d26-49c3-936e-e2d837678c08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_060b70bd-0605-415a-8552-74de3e5fb8b8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_060b70bd-0605-415a-8552-74de3e5fb8b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_15eadf16-27f9-4795-b585-82efa5996063" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_060b70bd-0605-415a-8552-74de3e5fb8b8" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_15eadf16-27f9-4795-b585-82efa5996063" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc4ec52-7862-4467-9583-361482903248" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_060b70bd-0605-415a-8552-74de3e5fb8b8" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc4ec52-7862-4467-9583-361482903248" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_57913b1f-240d-404e-8606-8e9fff39c68a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:to="loc_us-gaap_InterestPaidNet_57913b1f-240d-404e-8606-8e9fff39c68a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid_0ced476f-fa92-4377-aa7b-9093e77d127e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:to="loc_us-gaap_IncomeTaxesPaid_0ced476f-fa92-4377-aa7b-9093e77d127e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_4a14344b-fd18-4268-b658-803b259d69c8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:to="loc_us-gaap_OperatingLeasePayments_4a14344b-fd18-4268-b658-803b259d69c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_58d8edb1-96b9-4964-bdbd-15ed7e34ce28" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_703820b2-dbce-43e9-82ce-79475954cff1" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_58d8edb1-96b9-4964-bdbd-15ed7e34ce28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_3ffa318e-f15c-4a34-a082-655db5c1301f" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_ecdef6f9-a9ad-4a2c-9bea-e274e2250a68" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:to="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_ecdef6f9-a9ad-4a2c-9bea-e274e2250a68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_8aa44261-ff2d-4168-be90-24a6f37a4fb5" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:to="loc_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid_8aa44261-ff2d-4168-be90-24a6f37a4fb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_cb738c62-df27-4007-8631-760b875ec0d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_cb738c62-df27-4007-8631-760b875ec0d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationAccruedButNotYetPaid_05928bad-0300-4c62-a51f-7444e16083d4" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationAccruedButNotYetPaid"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:to="loc_appf_BusinessCombinationConsiderationAccruedButNotYetPaid_05928bad-0300-4c62-a51f-7444e16083d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_2e788428-bb91-477d-bb89-3bb4c0d1ef92" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_f9caa5da-1e88-45fc-b6a0-f058aedb8b32" xlink:to="loc_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction_2e788428-bb91-477d-bb89-3bb4c0d1ef92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="simple" xlink:href="appf-20201231.xsd#ConsolidatedStatementsofCashFlowsReconciliation"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_7e1d03a9-1915-41c2-adb0-b59c66454af9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a2c54588-b8cf-4bf1-95dd-43d48accaf27" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_7e1d03a9-1915-41c2-adb0-b59c66454af9" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a2c54588-b8cf-4bf1-95dd-43d48accaf27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_54451c40-3160-4092-ae3a-90ef0b0c101b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_7e1d03a9-1915-41c2-adb0-b59c66454af9" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_54451c40-3160-4092-ae3a-90ef0b0c101b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_25cc88f5-dcd6-46ee-9881-4112a36fad0f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_7e1d03a9-1915-41c2-adb0-b59c66454af9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_25cc88f5-dcd6-46ee-9881-4112a36fad0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusiness" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusiness"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/NatureofBusiness" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_50cf5aa0-06c4-484f-8995-3ccf109a53e1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_fdcad04f-ef3a-4e65-8170-b3727e222672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_50cf5aa0-06c4-484f-8995-3ccf109a53e1" xlink:to="loc_us-gaap_NatureOfOperations_fdcad04f-ef3a-4e65-8170-b3727e222672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#NatureofBusinessDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/NatureofBusinessDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_deaa7162-de32-4dc3-a23e-4293d78bf921" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_deaa7162-de32-4dc3-a23e-4293d78bf921" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_dcbe69f7-6516-42a7-a863-134cc84375f6" xlink:to="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_05901773-c515-41bd-9229-5627e5cbb39a" xlink:href="appf-20201231.xsd#appf_SoftwareAndServicesOfferedToRealEstateVerticalMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_a2737ba4-400d-401a-852f-6a3846b8dd3a" xlink:to="loc_appf_SoftwareAndServicesOfferedToRealEstateVerticalMember_05901773-c515-41bd-9229-5627e5cbb39a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_de7458a7-23e8-4ed4-8f44-113151c86cc3" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_ac9b8c39-37b0-4072-b3fb-9acfbe1700bf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_18d65305-3cd4-405e-9d41-e6c92e595508" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_ac9b8c39-37b0-4072-b3fb-9acfbe1700bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_252419e5-9f5e-4716-8fc8-39088c6e56c1" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_3a223f7e-c9dd-48b4-8184-52ed263a884a" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_26b447aa-5f27-41c8-b365-60c797bdf2f4" xlink:to="loc_appf_MyCaseMember_3a223f7e-c9dd-48b4-8184-52ed263a884a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_125f3081-906b-434b-aee2-d81c1a844c9e" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3a2e58dd-6093-4de7-9364-71a13bc9e8ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3a2e58dd-6093-4de7-9364-71a13bc9e8ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_11418a8a-9906-4741-b6e9-14759a787d1f" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary_11418a8a-9906-4741-b6e9-14759a787d1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_da169533-8bf0-406a-a7ef-830d340231eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_da169533-8bf0-406a-a7ef-830d340231eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ee21adaa-2d85-493d-8957-d33cf9001e4e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_6b6461b7-7727-450f-baa4-cb07f79de574" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ee21adaa-2d85-493d-8957-d33cf9001e4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_b17d877d-ace6-4f89-be2d-62bb953d190f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_3be8e46c-98e5-4fbc-8a0d-548db7e1b65f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_b17d877d-ace6-4f89-be2d-62bb953d190f" xlink:to="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_3be8e46c-98e5-4fbc-8a0d-548db7e1b65f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_4f94e9eb-fc95-46c0-ad87-59e738a2bc51" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_4f94e9eb-fc95-46c0-ad87-59e738a2bc51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_f9dbd475-c010-4461-b9ce-9b66d452a550" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_ConsolidationPolicyTextBlock_f9dbd475-c010-4461-b9ce-9b66d452a550" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_b315d60f-02ac-4e80-9970-392d3786b6ec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_UseOfEstimates_b315d60f-02ac-4e80-9970-392d3786b6ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_9740d988-df7a-4545-8ffb-4977a6c207a1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_9740d988-df7a-4545-8ffb-4977a6c207a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_5a067618-c225-4c2d-8d72-c4dd87c478e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_5a067618-c225-4c2d-8d72-c4dd87c478e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_97792619-52be-4855-beb9-2a9e82617a2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_97792619-52be-4855-beb9-2a9e82617a2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_9a90a2f0-10df-43b2-9fba-b17d6fcdf8e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_9a90a2f0-10df-43b2-9fba-b17d6fcdf8e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesPolicy_655452ad-3da2-46b7-b03e-ea9c6cb67bb5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MarketableSecuritiesPolicy"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_MarketableSecuritiesPolicy_655452ad-3da2-46b7-b03e-ea9c6cb67bb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_f3ea6a3a-7864-4cf0-b98b-3df83f955315" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_f3ea6a3a-7864-4cf0-b98b-3df83f955315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_7724e7b9-760f-4091-b1b3-4097e8fc4735" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_7724e7b9-760f-4091-b1b3-4097e8fc4735" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_c7336aab-0560-4589-9328-054f910c111d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_LesseeLeasesPolicyTextBlock_c7336aab-0560-4589-9328-054f910c111d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternalUseSoftwarePolicy_9b7954aa-786d-474b-8b3a-aa504dfcb529" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InternalUseSoftwarePolicy"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_InternalUseSoftwarePolicy_9b7954aa-786d-474b-8b3a-aa504dfcb529" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_cbc67d0e-f219-4906-b922-ea7091be8195" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_cbc67d0e-f219-4906-b922-ea7091be8195" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_6ab3e56d-6e49-4db3-9502-6a6707f64ed1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_6ab3e56d-6e49-4db3-9502-6a6707f64ed1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy_f759b507-e258-4b60-b725-a6698145c738" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_BusinessCombinationsPolicy_f759b507-e258-4b60-b725-a6698145c738" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_371a574a-7763-46b2-b762-42f3875db7bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_371a574a-7763-46b2-b762-42f3875db7bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_d59f66a5-695c-4322-94ba-86f05b67dfbd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_d59f66a5-695c-4322-94ba-86f05b67dfbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_ded5464b-0178-4650-ad1c-5cc4cd78dc26" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_ded5464b-0178-4650-ad1c-5cc4cd78dc26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_a2da84e0-705b-45ff-97c9-a7441c5406cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock_a2da84e0-705b-45ff-97c9-a7441c5406cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock_cf72a74e-5f92-4879-a5d0-db9d034f5c9a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock_cf72a74e-5f92-4879-a5d0-db9d034f5c9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_b854ac0e-8f10-458c-b4f5-5cd03e91eb64" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_b854ac0e-8f10-458c-b4f5-5cd03e91eb64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_5fc37035-e8d9-44fb-9380-777085f180d7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_5fc37035-e8d9-44fb-9380-777085f180d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_7ef2265a-dfa2-4970-afe2-5fbcb59cfcd7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7e69c44a-9da1-4378-b134-ae9ce40e7414" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_7ef2265a-dfa2-4970-afe2-5fbcb59cfcd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_d32956c1-d3f8-4c84-84f6-cab54dfbb972" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_7ca916e9-7f14-4194-9682-310856a6b7ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d32956c1-d3f8-4c84-84f6-cab54dfbb972" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_7ca916e9-7f14-4194-9682-310856a6b7ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_44a23c8b-b6ca-4d6f-bfe6-bca2d448e2b0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d32956c1-d3f8-4c84-84f6-cab54dfbb972" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_44a23c8b-b6ca-4d6f-bfe6-bca2d448e2b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_fb9fe35a-8263-4793-9305-4a9cb6d15d94" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d32956c1-d3f8-4c84-84f6-cab54dfbb972" xlink:to="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_fb9fe35a-8263-4793-9305-4a9cb6d15d94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_647423e1-7b3c-4863-92ce-aa3260e547d5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_647423e1-7b3c-4863-92ce-aa3260e547d5" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_20fcb4e9-cb2b-4ed2-a769-c7a82137e80d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_b6ab095e-6f77-40f5-95bd-2435d017d678" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_b6ab095e-6f77-40f5-95bd-2435d017d678" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillMember_110044b3-84d4-49b4-a146-961954c60904" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_eb4875c9-0f8d-48c5-b47b-39fa9b5a7e0d" xlink:to="loc_us-gaap_GoodwillMember_110044b3-84d4-49b4-a146-961954c60904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_e8a109a1-55cf-41c9-b5dd-ecce14df85cb" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_37653aab-0fee-4cd9-a2e3-8a778da80754" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4c3f1de9-cb47-40c0-9176-5ff445e6cb7d" xlink:to="loc_us-gaap_PerformanceSharesMember_37653aab-0fee-4cd9-a2e3-8a778da80754" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_550a16e3-1ae4-4821-99c4-ab436b85f6c9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_2fab3e42-dada-479f-8158-d31fbb97f1ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2fd5d409-2702-4166-9330-cfc95db46549" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_2fab3e42-dada-479f-8158-d31fbb97f1ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_9f74caa4-07e1-4e4d-a9ec-44c5f8baf49a" xlink:to="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_083d3d86-a414-47eb-b17d-d0b1357483b8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:to="loc_srt_MinimumMember_083d3d86-a414-47eb-b17d-d0b1357483b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_7ddad158-a8e9-44c1-8ddd-3f0dbd1a18ad" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_ba1f2419-1587-4b19-903f-9f82261b254b" xlink:to="loc_srt_MaximumMember_7ddad158-a8e9-44c1-8ddd-3f0dbd1a18ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_66fe49f3-3beb-4a9c-a4a0-2cd70e6ce047" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_0a2ded1c-982b-4d69-8400-434c621586e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfOperatingSegments_0a2ded1c-982b-4d69-8400-434c621586e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_823eb230-fec4-4f44-89fb-35495996486c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfReportableSegments_823eb230-fec4-4f44-89fb-35495996486c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_82596b8c-9ff3-4d9e-ac91-815fa4df2b32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_82596b8c-9ff3-4d9e-ac91-815fa4df2b32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForOtherCreditLosses_61bddbe4-2a16-40f4-bfcb-3bf7afc13909" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForOtherCreditLosses"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ProvisionForOtherCreditLosses_61bddbe4-2a16-40f4-bfcb-3bf7afc13909" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_5497f793-a4aa-4da2-83ed-1a4bc5e7ba93" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_5497f793-a4aa-4da2-83ed-1a4bc5e7ba93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_cf10a206-d61a-4c8e-89ea-953e0908116a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_NumberOfReportingUnits_cf10a206-d61a-4c8e-89ea-953e0908116a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLossNetOfTax_04b60b17-1582-4bea-8553-5dc1635a964b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillImpairmentLossNetOfTax"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_GoodwillImpairmentLossNetOfTax_04b60b17-1582-4bea-8553-5dc1635a964b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_e0f662c6-ecc2-438d-87c9-a9222d60c58d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_e0f662c6-ecc2-438d-87c9-a9222d60c58d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ContractTermSubscriptionAgreement_774a3a6a-04cb-4068-8c13-38b2ef76975e" xlink:href="appf-20201231.xsd#appf_ContractTermSubscriptionAgreement"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_appf_ContractTermSubscriptionAgreement_774a3a6a-04cb-4068-8c13-38b2ef76975e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_ca440916-1409-4156-980f-c44f1d151c99" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_ca440916-1409-4156-980f-c44f1d151c99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_11353676-af08-492a-b50b-6ee887cc35ee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_11353676-af08-492a-b50b-6ee887cc35ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_d935c0f0-df2a-44bf-997c-4486d4292c62" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNet_d935c0f0-df2a-44bf-997c-4486d4292c62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetCurrent_23a0a305-6ee8-4324-a409-41ee3bf47b4f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetCurrent"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNetCurrent_23a0a305-6ee8-4324-a409-41ee3bf47b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_548a379f-7970-4fcb-9cdc-8f99c1a9b838" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_548a379f-7970-4fcb-9cdc-8f99c1a9b838" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_b57ef8fb-7b17-45de-8453-6b9d2d54af54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_b57ef8fb-7b17-45de-8453-6b9d2d54af54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_007b0ecf-d1e4-49a5-a951-25e7ecc15a41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_AdvertisingExpense_007b0ecf-d1e4-49a5-a951-25e7ecc15a41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_8619c45f-248e-45c0-99d5-f132c10b5f9f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_8619c45f-248e-45c0-99d5-f132c10b5f9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_77aa9f39-48ab-4946-877a-7406d629328b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_73a82bb9-4ae0-4587-b086-2a916b0d9850" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_77aa9f39-48ab-4946-877a-7406d629328b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_62949e78-4c3e-41b9-8cf8-1c4892203a84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_62949e78-4c3e-41b9-8cf8-1c4892203a84" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7de11f2e-3917-4e44-8373-e9dfd97bd0b9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_0eb8c354-4095-4b60-9c6a-3bab465f8442" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_ComputerEquipmentMember_0eb8c354-4095-4b60-9c6a-3bab465f8442" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_c8cba6c4-4711-4e84-8d10-ffcffa74fe95" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_c8cba6c4-4711-4e84-8d10-ffcffa74fe95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_9a5f31bd-ec3c-418b-b012-33a2a9f855a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_2e6eb745-3060-40d4-a925-c196e514cd68" xlink:to="loc_us-gaap_OfficeEquipmentMember_9a5f31bd-ec3c-418b-b012-33a2a9f855a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:to="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_a1197efe-43f1-478a-b7ae-0e70614e2f3d" xlink:to="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_fe4628d3-0620-4b9c-b443-ab61314d2d1f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:to="loc_srt_MinimumMember_fe4628d3-0620-4b9c-b443-ab61314d2d1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_88655645-b13e-4fff-afba-943f90fd0a43" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a02e98aa-1c21-4305-a9a5-f0ed9a69f6ea" xlink:to="loc_srt_MaximumMember_88655645-b13e-4fff-afba-943f90fd0a43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_c4f213d2-4670-42ea-b55f-06e760ba43f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f873b431-0e42-442c-8fb2-c29c2329588f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_a6d5575c-f303-47d6-b130-a63db839c918" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f873b431-0e42-442c-8fb2-c29c2329588f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_243a6518-c038-4a3e-b90c-91a95342398d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesIssuedBasic_243a6518-c038-4a3e-b90c-91a95342398d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_6d91882c-3b41-4f35-bc76-cb3a4def6a37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesRestrictedStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesRestrictedStock_6d91882c-3b41-4f35-bc76-cb3a4def6a37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5ac747f8-5fe8-4100-9219-8e61233376f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5ac747f8-5fe8-4100-9219-8e61233376f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_cb2f3e60-587f-4c38-a133-caa0d28b13f8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_cb2f3e60-587f-4c38-a133-caa0d28b13f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_37897882-4fb2-46e4-b1a0-ea3b91449965" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_05a13eda-7d26-4c03-95b1-adab858a7af1" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_37897882-4fb2-46e4-b1a0-ea3b91449965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_8564d977-f7bf-48e3-9e39-5b2141511f79" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_8564d977-f7bf-48e3-9e39-5b2141511f79" xlink:to="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:to="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis_5e9228d2-370b-415a-b7fb-7a5f90aa3567" xlink:to="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_83288555-7810-4ae7-b43d-6c810ff16ae7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:to="loc_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_83288555-7810-4ae7-b43d-6c810ff16ae7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_2c4bf791-585e-49c4-8e4e-cc2d95b4e6fa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain_c87897f1-9f21-4ff9-8a7b-566cdcf23e12" xlink:to="loc_us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_2c4bf791-585e-49c4-8e4e-cc2d95b4e6fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_a4fe9aca-eb70-4476-b549-908e469ce24a" xlink:to="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201409Member_a2d86e2d-1697-423f-9694-7fc9e1f62548" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_18ad6c40-6f6e-4cbf-8df6-e00d6b7f9ff0" xlink:to="loc_us-gaap_AccountingStandardsUpdate201409Member_a2d86e2d-1697-423f-9694-7fc9e1f62548" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable_b82be1ce-23b5-4a53-bf94-03c6f0b0f77c" xlink:to="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_90c4c728-646f-4b1f-b1c2-b3ccd736a705" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_90c4c728-646f-4b1f-b1c2-b3ccd736a705" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_8375fad1-bff4-4018-ac15-7f07d0ada8aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_8375fad1-bff4-4018-ac15-7f07d0ada8aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_36e3a7f6-d53a-4f8f-9862-86615bbd703c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems_fc1199c0-5f15-4e35-b61b-6b8749d0541c" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_36e3a7f6-d53a-4f8f-9862-86615bbd703c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="simple" xlink:href="appf-20201231.xsd#SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_6e0d8f70-74d5-4f7d-9ae9-dd4ac0811d5f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_6e0d8f70-74d5-4f7d-9ae9-dd4ac0811d5f" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1bb03b9f-7730-435d-8d47-4dd6ace5c535" xlink:to="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201602Member_b49ae35c-2acf-402f-a9d8-fd4b235cce5f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_b3c77a87-c5c7-4342-82ad-1e5ea15d770d" xlink:to="loc_us-gaap_AccountingStandardsUpdate201602Member_b49ae35c-2acf-402f-a9d8-fd4b235cce5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_6103a6f6-f6f8-420e-9ab1-285cd69b4be9" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:to="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e2565043-5614-4a54-87c4-5cbd5265fd2e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_e2565043-5614-4a54-87c4-5cbd5265fd2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_01c3c344-a5d8-456a-8963-168d140d0f22" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9803a563-9c1d-4120-aedf-6756cd48cca2" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_01c3c344-a5d8-456a-8963-168d140d0f22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_b98d690e-dbc4-41b8-9451-9ff67ce6ce92" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_025b1633-79bc-4246-8134-79f970604257" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_025b1633-79bc-4246-8134-79f970604257" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_2f6d24da-a443-43f0-a851-8e0911349f41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OperatingLeaseLiability_2f6d24da-a443-43f0-a851-8e0911349f41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_999b26fe-ebdb-4681-b56e-34e5cccba9d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_9abf1ddb-3c6c-4424-9488-1634d13b046d" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_999b26fe-ebdb-4681-b56e-34e5cccba9d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinations"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_7fb81e61-c63a-4039-972e-6e5404a2b92a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_20a95cde-8b57-4d16-a189-77aa9012d9a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_7fb81e61-c63a-4039-972e-6e5404a2b92a" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_20a95cde-8b57-4d16-a189-77aa9012d9a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/Tables" xlink:type="simple" xlink:href="appf-20201231.xsd#Tables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/Tables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_1732127c-02ae-4a24-a17e-d12537cd14a5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_f202ed3d-bbe4-4693-9196-5b349541d405" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_1732127c-02ae-4a24-a17e-d12537cd14a5" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_f202ed3d-bbe4-4693-9196-5b349541d405" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_ebf95c6e-daba-409f-adbe-e130ab25e034" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_1732127c-02ae-4a24-a17e-d12537cd14a5" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_ebf95c6e-daba-409f-adbe-e130ab25e034" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#DivesturesandBusinessCombinationsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_0129af88-0b68-4b6d-b0ab-4daa976785e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_0129af88-0b68-4b6d-b0ab-4daa976785e7" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_4eebd279-83c0-43e9-9278-162b0ae28aec" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_a72c4a01-5d15-433d-bdae-37d3b6248d18" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_c381069d-9421-4726-b141-4a14359e28eb" xlink:to="loc_appf_MyCaseMember_a72c4a01-5d15-433d-bdae-37d3b6248d18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4c8352db-9ec1-4759-9a3c-09c0e7834439" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_81ea7540-f2af-4872-8853-dc90b3620551" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_4ccecd19-0bc0-4e6d-a8b9-a37844c97e0c" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_81ea7540-f2af-4872-8853-dc90b3620551" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_657d623f-4a77-417b-93ff-921562501ca7" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DynastyMarketplaceInc.Member_f37e481d-78aa-46c5-80c1-843be2fd17b5" xlink:href="appf-20201231.xsd#appf_DynastyMarketplaceInc.Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_16de058b-c2a2-4fdd-90ad-b9411b5f781e" xlink:to="loc_appf_DynastyMarketplaceInc.Member_f37e481d-78aa-46c5-80c1-843be2fd17b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_3c0d9476-3b21-422f-82a5-605bffd0e031" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_45c92b27-061b-4c77-9cdd-fcbb1fd1a40c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_45c92b27-061b-4c77-9cdd-fcbb1fd1a40c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_e548350f-0206-4b94-89ca-0e211034f8e4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_e548350f-0206-4b94-89ca-0e211034f8e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_f01c4911-4407-4368-8a2e-16e61d31bdaa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_f01c4911-4407-4368-8a2e-16e61d31bdaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashDivestedFromDeconsolidation_14c2a005-e3d3-425e-bba4-51c558d1c144" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashDivestedFromDeconsolidation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_CashDivestedFromDeconsolidation_14c2a005-e3d3-425e-bba4-51c558d1c144" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_352d180d-69d6-4465-ab94-bad31d531ac3" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment_352d180d-69d6-4465-ab94-bad31d531ac3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_4fb603eb-0985-48f1-8ae6-478fc9ca5a2e" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod_4fb603eb-0985-48f1-8ae6-478fc9ca5a2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ac228b7c-8ca4-4be5-aa41-246af3e4ec45" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ac228b7c-8ca4-4be5-aa41-246af3e4ec45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_2b15caed-d673-4444-b414-38f8ba49810e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation_2b15caed-d673-4444-b414-38f8ba49810e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_4f6f5732-cbfe-4941-9f69-7eeb303719dd" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_4f6f5732-cbfe-4941-9f69-7eeb303719dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_d302158d-a574-4949-bfee-5cdfa2a7b97d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue_d302158d-a574-4949-bfee-5cdfa2a7b97d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_f6807be0-34f9-436e-9b9b-6be8a48f8315" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1_f6807be0-34f9-436e-9b9b-6be8a48f8315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_f120411c-3ff9-4cff-91e0-163d8f4e863b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome_f120411c-3ff9-4cff-91e0-163d8f4e863b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_08c94b11-9897-469f-8eb0-5b145e0581ac" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_08c94b11-9897-469f-8eb0-5b145e0581ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_d0974fa2-4ff8-473f-8992-5e52773f6334" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTotalPriorToAdjustments"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_BusinessCombinationConsiderationTotalPriorToAdjustments_d0974fa2-4ff8-473f-8992-5e52773f6334" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount_b916024e-72fe-4878-9d5a-58a58ea3130a" xlink:href="appf-20201231.xsd#appf_BusinessCombinationConsiderationTransferredEscrowAmount"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_appf_BusinessCombinationConsiderationTransferredEscrowAmount_b916024e-72fe-4878-9d5a-58a58ea3130a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_f947bfd2-7e1d-4fe3-9438-fd56ae110576" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_da826518-33af-4b14-8b01-d9f961aa7053" xlink:to="loc_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_f947bfd2-7e1d-4fe3-9438-fd56ae110576" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsPurchasePriceAllocationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_c9d0d6a2-e715-482c-b92b-b80c6d879633" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_c9d0d6a2-e715-482c-b92b-b80c6d879633" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58d44474-042e-4256-b23b-47a230401e0c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DynastyMarketplaceInc.Member_b7a72a58-c2d0-4c48-961d-1e9045cf5f31" xlink:href="appf-20201231.xsd#appf_DynastyMarketplaceInc.Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_05686c0d-9d5d-474e-b286-006686645635" xlink:to="loc_appf_DynastyMarketplaceInc.Member_b7a72a58-c2d0-4c48-961d-1e9045cf5f31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_abd5d43b-a14b-47ee-9101-5ec16c0723f2" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_ea47560a-47ea-487b-9466-57a453d13e1e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_ea47560a-47ea-487b-9466-57a453d13e1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DatabasesMember_e2a39a61-a940-4e81-b879-8a80ba751652" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DatabasesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_DatabasesMember_e2a39a61-a940-4e81-b879-8a80ba751652" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_b5d16d41-2be3-4d58-978d-cf229eed13f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_CustomerRelationshipsMember_b5d16d41-2be3-4d58-978d-cf229eed13f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_68524e38-14b9-4973-b846-7b7ae01adf77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_68524e38-14b9-4973-b846-7b7ae01adf77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_9277bbac-e355-4123-b023-1a992347c20f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_9277bbac-e355-4123-b023-1a992347c20f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_f97c2674-d111-43df-b419-7fc5d531b438" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_b42d118b-e766-4a8a-9a2d-87920bcb47fc" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_f97c2674-d111-43df-b419-7fc5d531b438" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_b255070d-1d32-42c5-9e0e-8fee7150cce0" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_31c39539-c8d9-4785-a4e9-d47c8c318de1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets_31c39539-c8d9-4785-a4e9-d47c8c318de1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_5e74b1d0-c98c-43c8-9846-55ad0210f98e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_5e74b1d0-c98c-43c8-9846-55ad0210f98e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_56387b88-c10d-4222-be02-2dd3f3e1a0cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_56387b88-c10d-4222-be02-2dd3f3e1a0cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d718161b-2c8a-40b6-8dcb-735c37bc4c49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_Goodwill_d718161b-2c8a-40b6-8dcb-735c37bc4c49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_9bbfbc61-5e21-42f0-b5e1-a1eb96ef2000" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets_9bbfbc61-5e21-42f0-b5e1-a1eb96ef2000" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2019df78-85de-4f76-9a2a-03753a480f99" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2019df78-85de-4f76-9a2a-03753a480f99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_70d24b35-1a26-427b-befc-443f586a813b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_70d24b35-1a26-427b-befc-443f586a813b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_4f32f069-4646-46aa-818b-725f292fd289" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_4f32f069-4646-46aa-818b-725f292fd289" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_fd1af01f-9047-4d35-ad3c-52f57c189be8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities_fd1af01f-9047-4d35-ad3c-52f57c189be8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_731b5929-020c-4ea6-b4e7-4d9a2f76df88" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_c74fcef9-31b2-48fd-88bb-b7a3e31f1ace" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_731b5929-020c-4ea6-b4e7-4d9a2f76df88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#BusinessCombinationsProFormaInformationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_91a9f6ca-403b-4990-a637-c66203665220" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_a860abd3-7b86-4a92-a6a9-82352ef2fb4b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_91a9f6ca-403b-4990-a637-c66203665220" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_a860abd3-7b86-4a92-a6a9-82352ef2fb4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_1ec9750a-e43e-43ed-ab0c-5a893675c64a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_91a9f6ca-403b-4990-a637-c66203665220" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_1ec9750a-e43e-43ed-ab0c-5a893675c64a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_1e52b110-dc98-4e3c-bae4-844f9bc09e05" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_76e77d39-7743-4884-8bad-2add8136f075" xlink:href="appf-20201231.xsd#appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_1e52b110-dc98-4e3c-bae4-844f9bc09e05" xlink:to="loc_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock_76e77d39-7743-4884-8bad-2add8136f075" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_f55c02f8-54f9-4827-8c2b-b392af5f9cbd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_f55c02f8-54f9-4827-8c2b-b392af5f9cbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_ce304153-bff9-47b0-ac21-f89e88fc010d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_ce304153-bff9-47b0-ac21-f89e88fc010d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_de855db4-2a40-49c0-97fc-1dfc34dc081e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRealizedGainLossTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:to="loc_us-gaap_ScheduleOfRealizedGainLossTableTextBlock_de855db4-2a40-49c0-97fc-1dfc34dc081e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_75929687-e44b-4613-bcf0-7e1d6df96799" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_75929687-e44b-4613-bcf0-7e1d6df96799" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock_a8b05690-3fbe-4fa9-9ac8-20c5f3ac1a2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ec2bf8ca-88b6-4f96-aac6-11af826a3ec5" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock_a8b05690-3fbe-4fa9-9ac8-20c5f3ac1a2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_01516e73-7b94-4edc-be2a-c47c1e625fe9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_01516e73-7b94-4edc-be2a-c47c1e625fe9" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_a090b756-ff9f-4974-bdc7-47e0f6cd4ce8" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_1a5b2fba-4121-4b47-922d-85b52c37c3e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_1a5b2fba-4121-4b47-922d-85b52c37c3e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_6c45c91e-0658-40c9-9292-9bc30e7f30e8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_AgencySecuritiesMember_6c45c91e-0658-40c9-9292-9bc30e7f30e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_ac9a6a9c-f00c-4c4f-8766-d8e3b3d295ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_d7dd7a48-991d-415c-8620-9518f114ebe9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_ac9a6a9c-f00c-4c4f-8766-d8e3b3d295ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_b4b664a1-c9a5-4292-9559-c905e5d7346d" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_a231aea7-3e22-4c96-a5f9-73ff76b85139" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_a231aea7-3e22-4c96-a5f9-73ff76b85139" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_605fe5bc-b6f4-41e4-bf6d-1383d0b73462" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_605fe5bc-b6f4-41e4-bf6d-1383d0b73462" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_79533496-7805-4af9-8411-25022a5d5056" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_79533496-7805-4af9-8411-25022a5d5056" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_03baf72d-e675-42f2-b03c-25036dd4c8d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_03baf72d-e675-42f2-b03c-25036dd4c8d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_eba8acf7-3911-485e-9a8d-c0b585580bd0" xlink:href="appf-20201231.xsd#appf_AvailableForSaleSecuritiesMaximumContractualMaturity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_appf_AvailableForSaleSecuritiesMaximumContractualMaturity_eba8acf7-3911-485e-9a8d-c0b585580bd0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_233f30fe-6433-4683-b4af-a48da8184e59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_233f30fe-6433-4683-b4af-a48da8184e59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_bcf4c6aa-b781-46d7-8fc1-3b4803568541" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_bcf4c6aa-b781-46d7-8fc1-3b4803568541" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_0470217b-cef5-4549-ad32-2a8000a1dec1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_0470217b-cef5-4549-ad32-2a8000a1dec1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_71836c2c-7c26-4c76-baf2-dd39b2eb263b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_1d06384f-718d-4d6c-96a4-1730e1238d59" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_71836c2c-7c26-4c76-baf2-dd39b2eb263b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_7c8ba84f-6c93-483a-9736-8b42609d70cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_7c8ba84f-6c93-483a-9736-8b42609d70cc" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:to="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_c388f940-0463-4c13-af41-7ceb710c546b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_a125dd9d-aa43-4781-9045-af441753aaf0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_a125dd9d-aa43-4781-9045-af441753aaf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_226f6e20-f7d0-4fa9-b9b6-dec642e13821" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_AgencySecuritiesMember_226f6e20-f7d0-4fa9-b9b6-dec642e13821" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1f9197ba-1e06-442b-a6de-4d127c3f08d2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_aa4e8539-fcf8-4a29-abe3-cebd14b54065" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1f9197ba-1e06-442b-a6de-4d127c3f08d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_c178e8d4-5921-4b8f-884c-97f3724f4d37" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_11e30b8b-1e62-4554-b78a-dd8bd2576b77" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_11e30b8b-1e62-4554-b78a-dd8bd2576b77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_bcb50f0f-86d7-411d-ab43-4bfe69566b1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_bcb50f0f-86d7-411d-ab43-4bfe69566b1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_a95bd598-b7e1-47c3-8762-ccfd69136e41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt_a95bd598-b7e1-47c3-8762-ccfd69136e41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e62543a6-4f0c-4baf-a455-96e211a73e49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_39673622-3e3a-4607-af25-a543e2bb3804" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_e62543a6-4f0c-4baf-a455-96e211a73e49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_26068e86-1fa5-4b90-bb09-6fc85376156e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_26068e86-1fa5-4b90-bb09-6fc85376156e" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f930e87b-8769-41f7-a215-35775e5a6943" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_a6c86b76-6511-40da-8a07-defa7407b45a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_ac0fcb68-4006-4421-b3d2-a39f7b24b3ba" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_a6c86b76-6511-40da-8a07-defa7407b45a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_a62ff6ef-d415-4180-8a20-556ab8cab478" xlink:to="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_511c5db3-4c46-4727-b743-97430883405a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_511c5db3-4c46-4727-b743-97430883405a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_9b0226dc-74a1-4ca4-a153-c79b233f11c8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_3477a1d4-a973-45c2-971c-255846f51a61" xlink:to="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_9b0226dc-74a1-4ca4-a153-c79b233f11c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_0b1e7abf-fb4d-4833-80f5-731988bfcb3a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_eb8e22cb-203c-472d-be9c-7f122c0cd830" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:to="loc_us-gaap_SecuredDebtMember_eb8e22cb-203c-472d-be9c-7f122c0cd830" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_9aa1f113-42bb-4796-be51-2ac344fc220f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_7826e9e3-7be3-4091-b126-d6d7ca24b1c1" xlink:to="loc_us-gaap_LineOfCreditMember_9aa1f113-42bb-4796-be51-2ac344fc220f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_57b0ea3d-9e2e-4ad7-b841-693b45c9e889" xlink:to="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_c8fa904a-41ee-47c7-b9a1-d45b40473270" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_1198a086-6393-4450-a36c-4f0397427682" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_c8fa904a-41ee-47c7-b9a1-d45b40473270" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_6e7569b5-8aa5-4788-9130-91b68462a017" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d61f4ee7-6ca6-4549-ae3c-924d0c6fc1ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d61f4ee7-6ca6-4549-ae3c-924d0c6fc1ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFairValue_e9aa9733-768d-405f-be2d-1f72ed04567c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_1bb9e50f-cdbe-43c8-af42-3ecac18a56bd" xlink:to="loc_us-gaap_DebtInstrumentFairValue_e9aa9733-768d-405f-be2d-1f72ed04567c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_84e8f367-3068-4c12-9bdd-d5b63649f6be" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_84e8f367-3068-4c12-9bdd-d5b63649f6be" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6799c21f-6e68-41b6-87e5-655970bfe52a" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_020b47f2-dfeb-4ce6-a209-30a892b0a6f6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_1a54c906-1e3d-4a3f-9df3-679fc577e840" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_020b47f2-dfeb-4ce6-a209-30a892b0a6f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_b97f6e9b-85d6-478b-afad-8221ff7185de" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_228bb3a7-744e-416d-94cf-30aeed013a0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_228bb3a7-744e-416d-94cf-30aeed013a0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_df25a1d1-4b8c-4a23-91d1-fffb7f61358a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_df25a1d1-4b8c-4a23-91d1-fffb7f61358a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_8864facd-e5b5-44fd-836a-452e512faae5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517481db-0c25-4dd6-a26c-55c83b4801da" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_8864facd-e5b5-44fd-836a-452e512faae5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_000c6fc9-16ab-4fb5-8b8d-a9ac907b87a2" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e729dea9-a5b6-43f7-8c5e-5d5c79006ac7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e729dea9-a5b6-43f7-8c5e-5d5c79006ac7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_f42dd389-93ba-4d8a-bb6e-af2da0805084" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_facd076a-6375-4ea6-bf87-174d58228806" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_f42dd389-93ba-4d8a-bb6e-af2da0805084" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_10b565c3-24b8-400e-8de0-12e0d270edde" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6e2bf52d-c7df-4fdf-8da4-1068d68d61d2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6e2bf52d-c7df-4fdf-8da4-1068d68d61d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AgencySecuritiesMember_7f593b82-c849-4ecb-b9f7-d8654ba5e51c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AgencySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_AgencySecuritiesMember_7f593b82-c849-4ecb-b9f7-d8654ba5e51c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_d76c7d7d-835a-4acf-8646-e1ccbd4534af" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_34569b4d-bfd9-4d12-b841-425316a48a2c" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_d76c7d7d-835a-4acf-8646-e1ccbd4534af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_37700603-b51c-41b4-91a1-0a5a4189e615" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_3a4c5ece-1f04-434b-92cb-fed74c591a94" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_3a4c5ece-1f04-434b-92cb-fed74c591a94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d8bd939e-2bf4-4774-869e-e3252d6bfbf7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d8bd939e-2bf4-4774-869e-e3252d6bfbf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e53c4c63-0cb2-401b-bbe2-4dad23b16d32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_26b9e05b-37f2-440e-ba8a-5488d07f77c4" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e53c4c63-0cb2-401b-bbe2-4dad23b16d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnet"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_4474d5d9-4079-455b-8c7b-d28b25e31190" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_8ce6ec93-ca0c-41e5-a18f-4696da4e55b7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_4474d5d9-4079-455b-8c7b-d28b25e31190" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_8ce6ec93-ca0c-41e5-a18f-4696da4e55b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_9c3a2857-ff8b-40f7-9af0-20cf79d0245b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_99784744-00bb-4b8a-ac0f-07069fbb1ad9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_9c3a2857-ff8b-40f7-9af0-20cf79d0245b" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_99784744-00bb-4b8a-ac0f-07069fbb1ad9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#PropertyandEquipmentnetDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/PropertyandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_953da17d-9649-42cc-a0d2-e3efd4d89287" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_953da17d-9649-42cc-a0d2-e3efd4d89287" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_18abffbd-fab3-4112-86a5-67a7ea3af2c0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DataCenterAndComputerEquipmentMember_dbe4474d-8ae2-4531-aeec-e8dfb896bb40" xlink:href="appf-20201231.xsd#appf_DataCenterAndComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_appf_DataCenterAndComputerEquipmentMember_dbe4474d-8ae2-4531-aeec-e8dfb896bb40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_37e1a2a5-fb6c-4895-bbf4-04353d9aaacf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_37e1a2a5-fb6c-4895-bbf4-04353d9aaacf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_54ccf689-60ad-402b-bc81-2b03e4c88fd2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_OfficeEquipmentMember_54ccf689-60ad-402b-bc81-2b03e4c88fd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_102cc23a-dbd5-4851-9ac3-efd177cc707e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_102cc23a-dbd5-4851-9ac3-efd177cc707e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember_0b1a60cc-a0c0-45ec-b8cb-e26e4c387b13" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_us-gaap_ConstructionInProgressMember_0b1a60cc-a0c0-45ec-b8cb-e26e4c387b13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_97bd3486-032e-45ef-9f64-0969ef7f5096" xlink:href="appf-20201231.xsd#appf_FurnitureAndFixturesAndLeaseholdImprovementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d152735b-a85b-435c-8f18-fb19e5abcfbc" xlink:to="loc_appf_FurnitureAndFixturesAndLeaseholdImprovementsMember_97bd3486-032e-45ef-9f64-0969ef7f5096" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_03c2285c-36c0-4595-80f1-a46e10f35666" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_8e370eb8-43a0-4ceb-ab2a-219646c6b909" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_8e370eb8-43a0-4ceb-ab2a-219646c6b909" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_18363793-fab8-4b47-a299-6b0a7be17d67" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_18363793-fab8-4b47-a299-6b0a7be17d67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_27914453-f2d8-4a7b-9d7e-b8d8e5592e9f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_27914453-f2d8-4a7b-9d7e-b8d8e5592e9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_b2d2df2e-dcd9-4991-944a-d7b9c2bae2e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_fc70a71c-3b72-4cb3-aaed-bac29922c784" xlink:to="loc_us-gaap_Depreciation_b2d2df2e-dcd9-4991-944a-d7b9c2bae2e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnet"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_b3964b86-2832-42c5-83ba-00f2f7606840" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_7eecc654-249f-4c41-8336-4419af4f26df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_b3964b86-2832-42c5-83ba-00f2f7606840" xlink:to="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_7eecc654-249f-4c41-8336-4419af4f26df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_fcafa63b-b592-4c2a-bb2a-f5b5bbfb6ea8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_b8862164-6f20-4c72-a17b-32da13d5f497" xlink:href="appf-20201231.xsd#appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_fcafa63b-b592-4c2a-bb2a-f5b5bbfb6ea8" xlink:to="loc_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock_b8862164-6f20-4c72-a17b-32da13d5f497" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_a96eb282-b6b1-4316-909a-a86ce17a5491" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_fcafa63b-b592-4c2a-bb2a-f5b5bbfb6ea8" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_a96eb282-b6b1-4316-909a-a86ce17a5491" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_8efa8389-47a4-420e-97d6-1f46b26ce7df" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_8bb389c9-e720-447d-a9d2-b3c92e8d9723" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_8efa8389-47a4-420e-97d6-1f46b26ce7df" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_8bb389c9-e720-447d-a9d2-b3c92e8d9723" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_bda61b9c-4e65-44c5-b23a-9f5091a8fc3a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_8efa8389-47a4-420e-97d6-1f46b26ce7df" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_bda61b9c-4e65-44c5-b23a-9f5091a8fc3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_7f1a5af2-b02f-4e6f-92b6-80272397c0a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_8efa8389-47a4-420e-97d6-1f46b26ce7df" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_7f1a5af2-b02f-4e6f-92b6-80272397c0a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_49bc74b4-bca3-4a44-b63a-edc94e8139e5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_49bc74b4-bca3-4a44-b63a-edc94e8139e5" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_68584000-5f9a-4454-8156-cdfd109be284" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_143920c4-b26b-4590-a120-1a4996af883a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_815c31b2-4f34-4146-b0bc-4619626f3f3d" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_143920c4-b26b-4590-a120-1a4996af883a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_553f03f7-04c6-41dc-801e-612d06450b31" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_eb7a7d0e-4192-45c8-b08f-03f1416dc7c0" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_59df03d8-90f9-442c-a7f7-5eed5b5af395" xlink:to="loc_appf_MyCaseMember_eb7a7d0e-4192-45c8-b08f-03f1416dc7c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_44419868-f03e-4c08-8ee7-6f538e28a463" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions_f3c14d41-a3ef-4730-9387-ced227e5b0ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAdditions_f3c14d41-a3ef-4730-9387-ced227e5b0ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_61f5ab5a-e696-4dfc-b677-396591f78732" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_61f5ab5a-e696-4dfc-b677-396591f78732" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_3d4049d8-5b32-46e1-be8e-a64b2a388420" xlink:href="appf-20201231.xsd#appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_b31a582b-ce1c-4835-b799-01cb75176854" xlink:to="loc_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware_3d4049d8-5b32-46e1-be8e-a64b2a388420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_11bcc5a2-194a-44f3-800d-a1d0076593cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_11bcc5a2-194a-44f3-800d-a1d0076593cc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_eb354186-70b4-445a-af1c-9d23a9dafa0e" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne_eb354186-70b4-445a-af1c-9d23a9dafa0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_bbfe1876-7516-4598-be04-63a846b00796" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo_bbfe1876-7516-4598-be04-63a846b00796" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_34489364-fab9-4cbc-bc3e-7a55214e5bf8" xlink:href="appf-20201231.xsd#appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:to="loc_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree_34489364-fab9-4cbc-bc3e-7a55214e5bf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_65f9523f-c206-457b-b7b5-e0e20b70d8e8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_73a31a84-d723-4a32-8ca3-a63000d5038a" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_65f9523f-c206-457b-b7b5-e0e20b70d8e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwill"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_564ac29c-690a-4f31-a743-ea678f8dc937" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_3d9c889d-5ced-40e7-9173-a414cacaee4e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_564ac29c-690a-4f31-a743-ea678f8dc937" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_3d9c889d-5ced-40e7-9173-a414cacaee4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794264a6-c8d8-483a-ad43-4835d816b175" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_768e0bf6-0bae-4730-a4d7-eab819f12bc4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794264a6-c8d8-483a-ad43-4835d816b175" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_768e0bf6-0bae-4730-a4d7-eab819f12bc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock_a83dcfee-3d4f-45ae-9a97-6487e3035a45" xlink:href="appf-20201231.xsd#appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794264a6-c8d8-483a-ad43-4835d816b175" xlink:to="loc_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock_a83dcfee-3d4f-45ae-9a97-6487e3035a45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_9bbf21c4-26ed-4f09-860e-726b1faaf806" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794264a6-c8d8-483a-ad43-4835d816b175" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_9bbf21c4-26ed-4f09-860e-726b1faaf806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_f9e2be4a-427c-418d-9244-a85f404d7efb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_f9e2be4a-427c-418d-9244-a85f404d7efb" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_226844dc-fea0-4830-9c7a-38f6ccb96140" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_7c27974b-f031-4af1-925a-1a4e39d9eea9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_CustomerRelationshipsMember_7c27974b-f031-4af1-925a-1a4e39d9eea9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DatabaseMember_db70199a-aab7-4603-9d29-09efc260141a" xlink:href="appf-20201231.xsd#appf_DatabaseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_DatabaseMember_db70199a-aab7-4603-9d29-09efc260141a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TechnologyMember_6396ead9-d479-43a3-be98-19b9874276c7" xlink:href="appf-20201231.xsd#appf_TechnologyMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_TechnologyMember_6396ead9-d479-43a3-be98-19b9874276c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksAndTradeNamesMember_f2ccec10-e4c1-43e3-bddc-070280e071a0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TrademarksAndTradeNamesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_TrademarksAndTradeNamesMember_f2ccec10-e4c1-43e3-bddc-070280e071a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PartnerRelationshipsMember_03667b62-d8bf-4e7e-b48b-a5e2105d169f" xlink:href="appf-20201231.xsd#appf_PartnerRelationshipsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_appf_PartnerRelationshipsMember_03667b62-d8bf-4e7e-b48b-a5e2105d169f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_3a2ca08c-9718-461c-b133-ea508ab175f7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_3a2ca08c-9718-461c-b133-ea508ab175f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternetDomainNamesMember_7adcb88f-28f1-49d0-a84b-36f407c4fa59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InternetDomainNamesMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_InternetDomainNamesMember_7adcb88f-28f1-49d0-a84b-36f407c4fa59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_18b8dc8a-e1d9-4541-b213-0559447e9105" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PatentsMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_PatentsMember_18b8dc8a-e1d9-4541-b213-0559447e9105" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_0b6542de-4e8d-487d-b3aa-3be528c09950" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7408abd1-56b8-413e-b510-f87b84baadab" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_0b6542de-4e8d-487d-b3aa-3be528c09950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:to="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_95a87761-9114-4eb4-bfbb-66c37c2752bd" xlink:to="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_WeightedAverageMember_5910f315-9767-44b0-9f0b-82dceeca2705" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_WeightedAverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_85192f65-c797-41b8-a20b-08984ab71d75" xlink:to="loc_srt_WeightedAverageMember_5910f315-9767-44b0-9f0b-82dceeca2705" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ecb5b8f6-96eb-47f2-aba9-71e19e831de7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_65f168fd-bd77-45df-a9f7-6514ecf26ab1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_65f168fd-bd77-45df-a9f7-6514ecf26ab1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2d4d6247-6910-4afa-aa4e-e7aa8d22b9cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2d4d6247-6910-4afa-aa4e-e7aa8d22b9cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_69ba3b55-849d-4fa7-9ef3-0dce3c8b4138" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_69ba3b55-849d-4fa7-9ef3-0dce3c8b4138" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_3154513f-cc90-4e3e-9276-e1acadae74a6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_80f49bac-dc23-448d-b9e9-66c87c4f2dfb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_3154513f-cc90-4e3e-9276-e1acadae74a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_147bc8bf-443a-49bc-ae86-938ea9527f0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_147bc8bf-443a-49bc-ae86-938ea9527f0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_6e8b19d0-83a7-4d85-8ed3-a032a83c9835" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_6e8b19d0-83a7-4d85-8ed3-a032a83c9835" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_dd67f8de-107f-4e62-b45f-8394eda39ed4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_dd67f8de-107f-4e62-b45f-8394eda39ed4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_bb1ff41f-2aa3-45cb-8a29-0f48b8d4aa04" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_bb1ff41f-2aa3-45cb-8a29-0f48b8d4aa04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_c0e6060a-34ff-4499-ad0f-0754a68b1874" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_c0e6060a-34ff-4499-ad0f-0754a68b1874" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_40887f40-a316-4763-ba21-f1bcdf7dbb1e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_40887f40-a316-4763-ba21-f1bcdf7dbb1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_04e4281e-0bec-4c5d-ab55-260b917720c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_04e4281e-0bec-4c5d-ab55-260b917720c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_270c6e38-9bd7-4330-b4ce-45488190c96b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d9621feb-9667-4db7-9673-3000612f8123" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_270c6e38-9bd7-4330-b4ce-45488190c96b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IntangibleAssetsnetandGoodwillGoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4377180a-d1ef-4743-aa01-95252dc023ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_7ad6b522-f270-4826-b3f2-67499171a7d7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4377180a-d1ef-4743-aa01-95252dc023ab" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_7ad6b522-f270-4826-b3f2-67499171a7d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_193f9038-b7ca-4b8c-9552-4cdc1e248e54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4377180a-d1ef-4743-aa01-95252dc023ab" xlink:to="loc_us-gaap_Goodwill_193f9038-b7ca-4b8c-9552-4cdc1e248e54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_370ed9fd-1e9c-4be5-87e1-fd99c1a7e0d5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4377180a-d1ef-4743-aa01-95252dc023ab" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_370ed9fd-1e9c-4be5-87e1-fd99c1a7e0d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_84b87e00-5ddd-4ef1-95fc-a61ef8a95626" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4377180a-d1ef-4743-aa01-95252dc023ab" xlink:to="loc_us-gaap_Goodwill_84b87e00-5ddd-4ef1-95fc-a61ef8a95626" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpenses"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpenses" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_119233a6-7a8f-4dcf-98c3-ced830f7edea" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_704789ef-96ac-4501-bd0a-476665a11e69" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_119233a6-7a8f-4dcf-98c3-ced830f7edea" xlink:to="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_704789ef-96ac-4501-bd0a-476665a11e69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_1d1e72f2-2d36-406a-9cce-f5f62dede4e3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_f5a21c53-17bc-48bc-b39b-c2c40e025664" xlink:href="appf-20201231.xsd#appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_1d1e72f2-2d36-406a-9cce-f5f62dede4e3" xlink:to="loc_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock_f5a21c53-17bc-48bc-b39b-c2c40e025664" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#AccruedEmployeeExpensesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/AccruedEmployeeExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationRelatedCostsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_54b11dff-7b76-4ae8-86dd-e776d7a7d6a4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_AccruedVacationCurrent_54b11dff-7b76-4ae8-86dd-e776d7a7d6a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_5289dffa-de5a-41ca-8298-8d1cef55c729" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_AccruedBonusesCurrent_5289dffa-de5a-41ca-8298-8d1cef55c729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_09fb805b-5f81-4a56-88a5-6ac3bb893413" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_09fb805b-5f81-4a56-88a5-6ac3bb893413" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_35093228-3e51-4fb6-89ba-4694cd1d0d46" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_AccruedSalariesCurrent_35093228-3e51-4fb6-89ba-4694cd1d0d46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedPayrollTaxesCurrent_076736a4-0603-4874-9ca2-1df173960fef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_AccruedPayrollTaxesCurrent_076736a4-0603-4874-9ca2-1df173960fef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_18307d53-2486-4503-8926-9fcc07b8c90d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationRelatedCostsAbstract_0d745d52-a282-4093-9811-31d5fbb4986a" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_18307d53-2486-4503-8926-9fcc07b8c90d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/Leases" xlink:type="simple" xlink:href="appf-20201231.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_f4ce3e0c-c9e2-404c-a009-f78dd04caedf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_3707499d-f4a3-4f9c-b20a-b96d783bb2e7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4ce3e0c-c9e2-404c-a009-f78dd04caedf" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_3707499d-f4a3-4f9c-b20a-b96d783bb2e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_04cb6f89-b633-4d69-bccb-4a94b1b8d235" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_a5c989f7-1bbc-4f72-958a-2ba6e7a2adff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_04cb6f89-b633-4d69-bccb-4a94b1b8d235" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_a5c989f7-1bbc-4f72-958a-2ba6e7a2adff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_7b6b5fb5-96d3-44f9-b431-450413a9258d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_04cb6f89-b633-4d69-bccb-4a94b1b8d235" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_7b6b5fb5-96d3-44f9-b431-450413a9258d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_723b62c7-b739-4b72-b0a0-5dde3cfc612c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_723b62c7-b739-4b72-b0a0-5dde3cfc612c" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:to="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_e2be0740-cb8a-42bc-b84a-36a68c1fcf2b" xlink:to="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_6b1489c0-e6de-4577-8657-580281f155ce" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:to="loc_srt_MinimumMember_6b1489c0-e6de-4577-8657-580281f155ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1623ca40-cfc3-42ed-ad37-41ccb3fee49f" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_91ddcfbc-16cb-4575-b82b-2722cdeb3011" xlink:to="loc_srt_MaximumMember_1623ca40-cfc3-42ed-ad37-41ccb3fee49f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c823d5c-ac2d-4d68-b6f8-f5b87d8700cb" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RichardsonTexasMember_c2a7f5dc-228d-4e43-a8ba-0ac5f03c2997" xlink:href="appf-20201231.xsd#appf_RichardsonTexasMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_5e70edf4-b8b6-41cd-bad8-41496d302e32" xlink:to="loc_appf_RichardsonTexasMember_c2a7f5dc-228d-4e43-a8ba-0ac5f03c2997" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_bdd9af3e-c90f-4246-9c53-c4f8385f94da" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f49ee7c3-a48d-47a2-8672-77f82001656b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f49ee7c3-a48d-47a2-8672-77f82001656b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_648e6c25-7087-46e6-9ebd-f28e0c9819ff" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_648e6c25-7087-46e6-9ebd-f28e0c9819ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_8627aafc-c8a5-4254-86bc-11995dae2239" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_OperatingLeaseCost_8627aafc-c8a5-4254-86bc-11995dae2239" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_5485dfaa-9cd6-47cf-af9f-68efa8870025" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_VariableLeaseCost_5485dfaa-9cd6-47cf-af9f-68efa8870025" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseAndRentalExpense_609d7106-bb93-40e4-8b9f-0dbe2f0ada72" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseAndRentalExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_LeaseAndRentalExpense_609d7106-bb93-40e4-8b9f-0dbe2f0ada72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_ee2ca0bd-9ad3-4f31-a3a7-73a5d11f60cd" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseSquareFeetOfLeasedArea"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea_ee2ca0bd-9ad3-4f31-a3a7-73a5d11f60cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_787c2104-1db3-4911-998a-a393a7a26836" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_082d9282-35cf-4e98-9259-53bef61cb3ff" xlink:to="loc_us-gaap_OperatingLeaseLiability_787c2104-1db3-4911-998a-a393a7a26836" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofComponentsofLeaseexpenseDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_9585d324-3faf-479d-9e3b-81de3dfc3e09" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_264d0e07-cd38-48f1-a9be-f0de66b9b598" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9585d324-3faf-479d-9e3b-81de3dfc3e09" xlink:to="loc_us-gaap_AssetsAbstract_264d0e07-cd38-48f1-a9be-f0de66b9b598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_b13b9df3-71f2-4513-96eb-9591003f8fd6" xlink:href="appf-20201231.xsd#appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_264d0e07-cd38-48f1-a9be-f0de66b9b598" xlink:to="loc_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets_b13b9df3-71f2-4513-96eb-9591003f8fd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_c0682d05-811d-4540-860b-6b1411f730e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_264d0e07-cd38-48f1-a9be-f0de66b9b598" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_c0682d05-811d-4540-860b-6b1411f730e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_3d690216-5f2a-4d18-89fc-8d154050918d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_264d0e07-cd38-48f1-a9be-f0de66b9b598" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_3d690216-5f2a-4d18-89fc-8d154050918d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract_17dba1f5-9385-448d-bb77-42d65e04b8c2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9585d324-3faf-479d-9e3b-81de3dfc3e09" xlink:to="loc_us-gaap_LiabilitiesAbstract_17dba1f5-9385-448d-bb77-42d65e04b8c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_b6d5fc0b-0a4a-4b61-a855-47cd69afd68f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_17dba1f5-9385-448d-bb77-42d65e04b8c2" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_b6d5fc0b-0a4a-4b61-a855-47cd69afd68f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_69f00470-aa7a-4774-8a6a-57079ff25472" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_17dba1f5-9385-448d-bb77-42d65e04b8c2" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_69f00470-aa7a-4774-8a6a-57079ff25472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_4154d143-5d2b-4a55-8629-f1fca8c1094a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_17dba1f5-9385-448d-bb77-42d65e04b8c2" xlink:to="loc_us-gaap_OperatingLeaseLiability_4154d143-5d2b-4a55-8629-f1fca8c1094a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_60d6b9f8-6500-42ed-ad91-43051db63f9d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9585d324-3faf-479d-9e3b-81de3dfc3e09" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_60d6b9f8-6500-42ed-ad91-43051db63f9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_eb099a85-a4e5-49e5-8c20-4456b838870e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9585d324-3faf-479d-9e3b-81de3dfc3e09" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_eb099a85-a4e5-49e5-8c20-4456b838870e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_326db429-9a0d-450d-9fb0-bc369161c696" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_326db429-9a0d-450d-9fb0-bc369161c696" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_58feea42-3e44-4f35-b531-0cc274b99f0e" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_7838043f-907d-49d3-8f6b-908a0cc39fe3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_cb17c761-75e8-42f0-a479-fb255ae206f9" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_7838043f-907d-49d3-8f6b-908a0cc39fe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_70f32e09-732d-4cac-add7-e28594b9cd8b" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c347b9cc-77d3-4f44-9bdc-a696a070b3bd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c347b9cc-77d3-4f44-9bdc-a696a070b3bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_e6a75c3b-3251-4a70-99e4-6c2e70326fa8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_e6a75c3b-3251-4a70-99e4-6c2e70326fa8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_453b12b1-ff7d-4c98-b130-e9b9c74a5ce0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_453b12b1-ff7d-4c98-b130-e9b9c74a5ce0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4bd26c1f-e1f7-498a-aede-75d788079d49" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4bd26c1f-e1f7-498a-aede-75d788079d49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_4e17d8ff-9b90-4cc8-b25b-8da8b8258b19" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_4e17d8ff-9b90-4cc8-b25b-8da8b8258b19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_a3c3d122-25e2-4652-a477-0f03629a7dc9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_a3c3d122-25e2-4652-a477-0f03629a7dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_187094e1-c879-428a-9915-9eb4d709b1cd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_187094e1-c879-428a-9915-9eb4d709b1cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_e2c5bf13-529c-4268-98ae-2fe2a992b889" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_e2c5bf13-529c-4268-98ae-2fe2a992b889" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_203bc387-f646-477f-be17-1796d8665beb" xlink:href="appf-20201231.xsd#appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion_203bc387-f646-477f-be17-1796d8665beb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TenantImprovementAllowance_0431ed88-87fd-4ff7-9c41-bce895e3155c" xlink:href="appf-20201231.xsd#appf_TenantImprovementAllowance"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_appf_TenantImprovementAllowance_0431ed88-87fd-4ff7-9c41-bce895e3155c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_3ec14bfa-cf61-4279-8b2e-a6e5a9fb44bc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_e3b53ca8-3fa8-4a67-911c-a11262c36027" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_3ec14bfa-cf61-4279-8b2e-a6e5a9fb44bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="appf-20201231.xsd#LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebt" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebt"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LongtermDebt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_8477feb8-cda6-4f1a-801b-1546d4b7817f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock_63d3275d-df88-42f0-9262-b2047a925354" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_8477feb8-cda6-4f1a-801b-1546d4b7817f" xlink:to="loc_us-gaap_LongTermDebtTextBlock_63d3275d-df88-42f0-9262-b2047a925354" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LongtermDebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1c02245c-ad7c-4a98-8cf0-7850b83995b8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_fe3f2067-f07a-401a-adff-f4574b243a41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1c02245c-ad7c-4a98-8cf0-7850b83995b8" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_fe3f2067-f07a-401a-adff-f4574b243a41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LongtermDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_c038d934-c0a6-4cd6-847c-5f6401b2cc96" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_c038d934-c0a6-4cd6-847c-5f6401b2cc96" xlink:to="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_0d80a713-755c-4507-8c68-6e4d1d7945af" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMember_e03405b9-95d4-4dff-95cd-3071e56cefd4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_1cf46f88-72b1-43d1-b129-21ca9169b1b7" xlink:to="loc_us-gaap_OtherAssetsMember_e03405b9-95d4-4dff-95cd-3071e56cefd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_00720208-8c65-48de-8ee2-5b746c8c606c" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_a54fa5be-be57-4046-88f0-92aa75b1fde4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_bb6f7127-fec8-4510-a2bf-908c706437cc" xlink:to="loc_us-gaap_LineOfCreditMember_a54fa5be-be57-4046-88f0-92aa75b1fde4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_ac81bd30-2a08-47fb-8ed8-efaa2d760882" xlink:to="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_019498ac-3eee-4caf-9c89-411ceeda0fdf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:to="loc_us-gaap_SecuredDebtMember_019498ac-3eee-4caf-9c89-411ceeda0fdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_2f655f74-5e87-4e41-8dee-ada40c89d712" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_2ec8fde3-178a-446a-a120-c8653093ce5a" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_2f655f74-5e87-4e41-8dee-ada40c89d712" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_be9e5b90-d49b-4445-9f74-53276dc8a5ca" xlink:to="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember_b76863cd-de20-4da8-accc-24d6dd2422ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:to="loc_us-gaap_FederalFundsEffectiveSwapRateMember_b76863cd-de20-4da8-accc-24d6dd2422ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_6ce9011b-8c88-4013-bca5-f4e74d5349d8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_928924ab-a24b-4bff-b135-8ab2b1bb2ef6" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_6ce9011b-8c88-4013-bca5-f4e74d5349d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_49de573e-1e79-405a-b717-78720f67f38b" xlink:to="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d5068d44-17a4-4047-8e2e-3ed0d1060e92" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:to="loc_srt_MinimumMember_d5068d44-17a4-4047-8e2e-3ed0d1060e92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_64f525d2-780c-4d65-85cd-3f2329a786ca" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_82408cb6-7877-40b0-9475-74aadad8b764" xlink:to="loc_srt_MaximumMember_64f525d2-780c-4d65-85cd-3f2329a786ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_0f9174a1-7a86-4403-9211-f421ff4b012c" xlink:to="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d9f79b36-de87-4bf6-80b4-8a496e0f4015" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_d9f79b36-de87-4bf6-80b4-8a496e0f4015" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_eadf401d-8a68-4b9c-b755-404a9c5f09ea" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio_eadf401d-8a68-4b9c-b755-404a9c5f09ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_8665bbee-e289-493b-9649-0be5c3590ada" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio_8665bbee-e289-493b-9649-0be5c3590ada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_944fa032-2ff8-4f4d-81f6-d3832f9422bb" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio_944fa032-2ff8-4f4d-81f6-d3832f9422bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_4a741828-e905-4887-a2b8-690bc1d9946c" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio_4a741828-e905-4887-a2b8-690bc1d9946c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_0ca23288-10be-423c-a0b4-f7fd3bc32c68" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts_0ca23288-10be-423c-a0b4-f7fd3bc32c68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_e38afa11-a9f3-4341-a9df-43c18172bcdc" xlink:href="appf-20201231.xsd#appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate_e38afa11-a9f3-4341-a9df-43c18172bcdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3ca8ba47-ce50-477a-ac79-88f55326fad4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3ca8ba47-ce50-477a-ac79-88f55326fad4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_df836be8-4a1b-41c3-b204-3721dbb6117f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_df836be8-4a1b-41c3-b204-3721dbb6117f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_15a8ad9a-e8e0-4155-b915-dcd264d39fa9" xlink:href="appf-20201231.xsd#appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage_15a8ad9a-e8e0-4155-b915-dcd264d39fa9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_da4d4936-eec1-42db-80f3-23f22613e12b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_da4d4936-eec1-42db-80f3-23f22613e12b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_f53bfe1b-33b9-43c3-a921-56dcb9fe6dbe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_f53bfe1b-33b9-43c3-a921-56dcb9fe6dbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_030ae499-b1a8-45f4-9e52-97badc60a372" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_b3691145-0333-440f-9d10-5ce4e3bbb6e9" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_030ae499-b1a8-45f4-9e52-97badc60a372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#LongtermDebtSummaryofLongtemDebtDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_dfef04a0-d94f-4bcf-a821-1e23d18e9e2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_dfef04a0-d94f-4bcf-a821-1e23d18e9e2b" xlink:to="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:to="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_0d059261-3c96-4fa9-a24e-78be677ab49d" xlink:to="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredDebtMember_8c5b3171-c81d-4575-9d5d-74f2a955d70b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SecuredDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_098a40ae-ee67-4370-a0a5-7da6002933ca" xlink:to="loc_us-gaap_SecuredDebtMember_8c5b3171-c81d-4575-9d5d-74f2a955d70b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_51d351fb-f643-4d08-af61-ae54743ba128" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_a7f1a44d-0559-4c61-a5db-5356e41b2646" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_cc591194-6efc-4f7d-a878-9a0a04474128" xlink:to="loc_us-gaap_LineOfCreditMember_a7f1a44d-0559-4c61-a5db-5356e41b2646" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_2c507279-d4bb-4719-9023-0b23b2dce839" xlink:to="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_e4489339-0ec7-4f07-b8c1-81901e7686d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_e4489339-0ec7-4f07-b8c1-81901e7686d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_cf5522e9-5a24-4fae-b192-0b7d4e1d36cf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_cf5522e9-5a24-4fae-b192-0b7d4e1d36cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_03e45529-926c-45f7-8db6-3968f101f3f7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_38b92353-2885-4278-9856-7ed6628fbe9e" xlink:to="loc_us-gaap_LongTermDebt_03e45529-926c-45f7-8db6-3968f101f3f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingencies"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CommitmentandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_fc3d5d63-89ea-4c51-a527-654c4ef6b22d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_e48cf3f3-bd90-454f-a494-8912412dbc54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_fc3d5d63-89ea-4c51-a527-654c4ef6b22d" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_e48cf3f3-bd90-454f-a494-8912412dbc54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#CommitmentandContingenciesAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_caff78dc-0bfa-4514-adb7-f85136658ac9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_caff78dc-0bfa-4514-adb7-f85136658ac9" xlink:to="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_c64003b9-a009-42da-8137-9343f35cefbb" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesMember_f31d749c-4078-4c94-8b9d-101b0ab143c4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentLiabilitiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:to="loc_us-gaap_OtherCurrentLiabilitiesMember_f31d749c-4078-4c94-8b9d-101b0ab143c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_9e4bec63-5338-4eb8-bec9-280301b03fec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_77c66bd5-9638-40a6-bd89-6cfc5ea5e306" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_9e4bec63-5338-4eb8-bec9-280301b03fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8aeb5f04-472f-4ac1-a85d-775b9fc5565f" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_1af0319d-87c9-4356-a8ee-bc6d92eadb1d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_56159bbc-b44e-4dcb-8951-d807e19c691c" xlink:to="loc_us-gaap_SubsequentEventMember_1af0319d-87c9-4356-a8ee-bc6d92eadb1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingenciesLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_becaa72d-415c-4e3e-93f2-744e92eeea2c" xlink:to="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_19455d30-deee-432e-9979-ddd8fabe0960" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit_19455d30-deee-432e-9979-ddd8fabe0960" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_e98a7479-9b9e-483e-b34f-b06fcab83b4f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage_e98a7479-9b9e-483e-b34f-b06fcab83b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_fdea002a-b3a1-4043-b037-9a9c42a52fde" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability_fdea002a-b3a1-4043-b037-9a9c42a52fde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_fac0cd5b-e229-4189-9f43-c02af635b0ac" xlink:href="appf-20201231.xsd#appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices_fac0cd5b-e229-4189-9f43-c02af635b0ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyEstimateOfPossibleLoss_4375f2d2-ebfb-42c6-aeee-7feffcf0c0cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyEstimateOfPossibleLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LossContingencyEstimateOfPossibleLoss_4375f2d2-ebfb-42c6-aeee-7feffcf0c0cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossContingencyAccrualAtCarryingValue_822941c4-2cb0-4f35-af86-74401cf82c1d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_LossContingencyAccrualAtCarryingValue_822941c4-2cb0-4f35-af86-74401cf82c1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForLegalSettlements_308ef37e-d359-4ca3-a0e9-2e298b930853" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForLegalSettlements"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_a3957984-99f3-40c7-a3a8-913ff3927054" xlink:to="loc_us-gaap_PaymentsForLegalSettlements_308ef37e-d359-4ca3-a0e9-2e298b930853" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquity" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_be834e3d-4107-46da-9fff-78950cfeac2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_a1af8f5d-6b94-439b-8b7d-93c42d676acb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_be834e3d-4107-46da-9fff-78950cfeac2b" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_a1af8f5d-6b94-439b-8b7d-93c42d676acb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_9efb0f3e-b060-431e-a992-22bec2c7aaa2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9efb0f3e-b060-431e-a992-22bec2c7aaa2" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_3b863c4b-4e61-4853-878d-293ecacb9580" xlink:to="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_48648da1-e266-4b05-8cc1-fc3ecc3d8509" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:to="loc_us-gaap_CommonStockMember_48648da1-e266-4b05-8cc1-fc3ecc3d8509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_efb23fac-1ba3-4b03-bf61-b47980bec6ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_205f3d32-bb03-4908-bbf6-c5a057fcdcd3" xlink:to="loc_us-gaap_PreferredStockMember_efb23fac-1ba3-4b03-bf61-b47980bec6ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:to="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_319eadd2-7a0a-4b49-947b-b547061fb81c" xlink:to="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_e14c5085-85a5-451d-91d8-dce4f6457b25" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:to="loc_us-gaap_CommonClassAMember_e14c5085-85a5-451d-91d8-dce4f6457b25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_963a3452-43a4-44e0-a9d2-2e4ae05ddd86" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_451a4508-738f-4b77-8a74-2706d28b9a35" xlink:to="loc_us-gaap_CommonClassBMember_963a3452-43a4-44e0-a9d2-2e4ae05ddd86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_346115e0-02aa-425a-b98c-b92f7d6ba0e6" xlink:to="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalUnitsAuthorized_1bf48fe8-4b8c-4ee7-bcd9-ee577c0005f0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CapitalUnitsAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CapitalUnitsAuthorized_1bf48fe8-4b8c-4ee7-bcd9-ee577c0005f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_00fce947-f23e-443f-b013-d08510091d0c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_00fce947-f23e-443f-b013-d08510091d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_5e759bf5-3006-4726-879b-dcaf23e2bfc5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_5e759bf5-3006-4726-879b-dcaf23e2bfc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_c619e2a1-7ddd-4f5f-940b-4361d8d27a42" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_8488590c-8292-4011-ae61-292629212594" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_c619e2a1-7ddd-4f5f-940b-4361d8d27a42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6d40b85a-930f-40f2-8dde-fb00ee7be3b9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6d40b85a-930f-40f2-8dde-fb00ee7be3b9" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:to="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_1cad491c-c2db-4dbe-9cc6-31f948a483aa" xlink:to="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_ecfb52f8-4f5c-4a10-b39f-71231a572f96" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:to="loc_us-gaap_CommonClassAMember_ecfb52f8-4f5c-4a10-b39f-71231a572f96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_315bc5de-0bc9-4f4e-ace2-fdceec2af0cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_d6060905-7747-4201-af71-724f4682eccc" xlink:to="loc_us-gaap_CommonClassBMember_315bc5de-0bc9-4f4e-ace2-fdceec2af0cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockByUniqueDescriptionAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:to="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConversionOfStockNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConversionOfStockByUniqueDescriptionAxis_85d7e0eb-e806-4ea3-ace2-73ae6d3f250a" xlink:to="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonClassBToCommonClassAMember_13ede028-36ce-4e71-a137-8b8389032833" xlink:href="appf-20201231.xsd#appf_CommonClassBToCommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConversionOfStockNameDomain_efa9b935-4d10-4ede-a534-31bdf9565b10" xlink:to="loc_appf_CommonClassBToCommonClassAMember_13ede028-36ce-4e71-a137-8b8389032833" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_571c42bf-8d9a-4aa8-a1b7-207d41d8eaba" xlink:to="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockNumberOfVotesPerShare_578f926a-09d7-46e9-99d1-700576c40eda" xlink:href="appf-20201231.xsd#appf_CommonStockNumberOfVotesPerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_CommonStockNumberOfVotesPerShare_578f926a-09d7-46e9-99d1-700576c40eda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_90bf86c6-dacd-4e8c-9ac6-17d16ced0e89" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversion"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversion_90bf86c6-dacd-4e8c-9ac6-17d16ced0e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_19336fc4-bdbd-4257-8919-572215fe3d28" xlink:href="appf-20201231.xsd#appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer_19336fc4-bdbd-4257-8919-572215fe3d28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CommonStockAutomaticConversionThreshold_c7bb1dc4-e023-4ddd-bd01-7ef6558413e2" xlink:href="appf-20201231.xsd#appf_CommonStockAutomaticConversionThreshold"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_3004b419-4d3a-455c-9ba1-2763efbb5448" xlink:to="loc_appf_CommonStockAutomaticConversionThreshold_c7bb1dc4-e023-4ddd-bd01-7ef6558413e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_93bf2a11-983b-4b87-952a-86d2b6daced6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_930af430-ecbe-402b-97c6-04996745b51b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_93bf2a11-983b-4b87-952a-86d2b6daced6" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_930af430-ecbe-402b-97c6-04996745b51b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_eaa7e8f5-cdda-4913-9e2d-3941dbf2c473" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_93bf2a11-983b-4b87-952a-86d2b6daced6" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_eaa7e8f5-cdda-4913-9e2d-3941dbf2c473" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockholdersEquityShareRepurchaseProgramDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_4ed3afe8-211d-40d7-9fa9-bfcee4541924" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_22dc1d3e-af66-4f4a-a7f6-b272bfdd945a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4ed3afe8-211d-40d7-9fa9-bfcee4541924" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_22dc1d3e-af66-4f4a-a7f6-b272bfdd945a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_3798e9da-daca-4509-95df-873df232bb63" xlink:href="appf-20201231.xsd#appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4ed3afe8-211d-40d7-9fa9-bfcee4541924" xlink:to="loc_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases_3798e9da-daca-4509-95df-873df232bb63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_7f499529-fd2b-4c22-8c68-9086e49eea21" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4ed3afe8-211d-40d7-9fa9-bfcee4541924" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_7f499529-fd2b-4c22-8c68-9086e49eea21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_d599de96-b0fa-447c-859e-50932ac35e17" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4ed3afe8-211d-40d7-9fa9-bfcee4541924" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_d599de96-b0fa-447c-859e-50932ac35e17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ef50a32a-64c3-45d4-8805-be78aa627740" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_3c0da81f-831c-4697-9cf5-903964ee84b1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ef50a32a-64c3-45d4-8805-be78aa627740" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_3c0da81f-831c-4697-9cf5-903964ee84b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_32ed8c6a-f55f-4f15-89d1-a3408eaa82dd" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_62b6b8f0-438b-468d-804b-d0c052bdc79b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_32ed8c6a-f55f-4f15-89d1-a3408eaa82dd" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_62b6b8f0-438b-468d-804b-d0c052bdc79b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_971f649f-c53a-485d-812c-a8754c8c6ed1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_32ed8c6a-f55f-4f15-89d1-a3408eaa82dd" xlink:to="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_971f649f-c53a-485d-812c-a8754c8c6ed1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_62607a81-c4b0-486e-8d30-b9681df93074" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_32ed8c6a-f55f-4f15-89d1-a3408eaa82dd" xlink:to="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_62607a81-c4b0-486e-8d30-b9681df93074" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionPlansDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_af3eb7dc-1102-4638-af11-671e3db6bf2e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_af3eb7dc-1102-4638-af11-671e3db6bf2e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_6bba78a6-f8d5-4530-819b-57e89395f613" xlink:to="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_176f3ee2-02f7-4c86-af6a-8f93f8c1e41b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_8df92d9d-d8a6-4cb4-9dda-de84b01512cc" xlink:to="loc_us-gaap_CommonClassAMember_176f3ee2-02f7-4c86-af6a-8f93f8c1e41b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_e27d1221-ad8e-4142-b23a-31b7bd390fea" xlink:to="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_TwoThousandFifteenStockIncentivePlanMember_ea6d629d-1884-4d83-be8b-1f6014098c7b" xlink:href="appf-20201231.xsd#appf_TwoThousandFifteenStockIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:to="loc_appf_TwoThousandFifteenStockIncentivePlanMember_ea6d629d-1884-4d83-be8b-1f6014098c7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_09f14fe1-fbea-44f7-bbd1-f1a2a0462851" xlink:href="appf-20201231.xsd#appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_c861804a-24cc-4db3-a68f-fe7a45001318" xlink:to="loc_appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember_09f14fe1-fbea-44f7-bbd1-f1a2a0462851" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_d3355aa4-8585-4ba6-a813-aedef903f71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_105b5140-0039-4955-b3b6-09365a6f36aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_us-gaap_EmployeeStockOptionMember_105b5140-0039-4955-b3b6-09365a6f36aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockOptionMember_9aaf7433-790b-48a3-9e37-091bea26b117" xlink:href="appf-20201231.xsd#appf_PerformanceStockOptionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_appf_PerformanceStockOptionMember_9aaf7433-790b-48a3-9e37-091bea26b117" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_69272f10-d09e-43c4-b146-a63eed6f60b5" xlink:href="appf-20201231.xsd#appf_EmployeeStockOptionsAndPerformanceStockOptionsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_13562360-db78-4de1-be12-2118ef35ff02" xlink:to="loc_appf_EmployeeStockOptionsAndPerformanceStockOptionsMember_69272f10-d09e-43c4-b146-a63eed6f60b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_abe3d1cc-e895-49ce-a1de-c50944428c1a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_5b2606c5-cda4-45c6-a03a-3e7bb8af9a84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance_5b2606c5-cda4-45c6-a03a-3e7bb8af9a84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_11cd26f7-b0f8-4d03-91b0-c1a82be147f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_11cd26f7-b0f8-4d03-91b0-c1a82be147f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_8aad86a1-e958-4c3f-82fd-5bd4575f9692" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_8aad86a1-e958-4c3f-82fd-5bd4575f9692" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_ff72566e-85a1-411e-a626-b9e43eb8c7c5" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_ff72566e-85a1-411e-a626-b9e43eb8c7c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_744e5281-3803-4934-b3b1-0455a8b21d59" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_744e5281-3803-4934-b3b1-0455a8b21d59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9a37fb3a-0fe9-4339-b8f8-5c6b58bd54d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9a37fb3a-0fe9-4339-b8f8-5c6b58bd54d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_bf6216c3-0bce-4a8a-9a4c-46946605f74c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_bf6216c3-0bce-4a8a-9a4c-46946605f74c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_38c505f3-db82-4252-9535-a958ed819b57" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_38c505f3-db82-4252-9535-a958ed819b57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_7d714703-ecf3-42a9-b82a-9031726381b0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b8e39b41-b60f-4311-ab55-0b92a3a2f11b" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_7d714703-ecf3-42a9-b82a-9031726381b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationStockOptionActivityDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_f79dc983-710f-4850-8cf1-831f3f51a599" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_f79dc983-710f-4850-8cf1-831f3f51a599" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_ce047509-5dba-4dcc-843f-e62ba75db42a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_ce047509-5dba-4dcc-843f-e62ba75db42a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_6e263cdd-125f-440c-a11b-e6c68a28e5f3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_6e263cdd-125f-440c-a11b-e6c68a28e5f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6f745a43-4e86-4206-b52a-31e7aad758ca" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6f745a43-4e86-4206-b52a-31e7aad758ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_ce963054-3d86-4eb3-a6a0-e2d4b175b52f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_8f632542-1595-454a-bc68-860cefd1c2c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_ce963054-3d86-4eb3-a6a0-e2d4b175b52f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_0ff19996-56af-400c-8eed-ad7893d1f169" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_0ff19996-56af-400c-8eed-ad7893d1f169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_56757dcc-8795-42c0-bd78-ce719a2503ac" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_56757dcc-8795-42c0-bd78-ce719a2503ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_41ec8543-b6ac-4d67-bb96-ddc285ad0710" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_41ec8543-b6ac-4d67-bb96-ddc285ad0710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_1c65a90f-ea74-46fd-8d61-8fe7fe65d27a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_1c65a90f-ea74-46fd-8d61-8fe7fe65d27a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_ba84bd42-4ce0-45f1-a8eb-67803e83fc32" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_ba84bd42-4ce0-45f1-a8eb-67803e83fc32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_953ac86d-6cd5-4d34-b490-1f2e11b604c2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_953ac86d-6cd5-4d34-b490-1f2e11b604c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_b7d66e3f-c82e-4885-b9e8-605d8f910cec" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a829789f-e551-4213-a6f8-685c266f49c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_b7d66e3f-c82e-4885-b9e8-605d8f910cec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_beb32f64-fe87-405b-ae67-bc605606fe15" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_beb32f64-fe87-405b-ae67-bc605606fe15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_f41fb827-7e7f-4ac0-bc0f-9bb7bf12ef84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_f41fb827-7e7f-4ac0-bc0f-9bb7bf12ef84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_718e6fcb-f93d-46be-8e29-397ff165b360" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_718e6fcb-f93d-46be-8e29-397ff165b360" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_2dbac423-cbbb-4b4d-bd9e-f3ea5ac368a6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_2dbac423-cbbb-4b4d-bd9e-f3ea5ac368a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_e97d42f1-c536-4310-be75-45317e78ac25" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3882d2bf-1711-4022-bb45-6f18b63f99f9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_e97d42f1-c536-4310-be75-45317e78ac25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e8e9928d-8523-4c3a-9c7b-005329293ff3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e8e9928d-8523-4c3a-9c7b-005329293ff3" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:to="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_515569df-369b-4fef-8b89-37e1abdd22ab" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_af6e7388-28ed-4d9e-9698-ceaa756efacc" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_250c11e2-ec0e-40b9-a483-63ca53a53b35" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_af6e7388-28ed-4d9e-9698-ceaa756efacc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_85a21726-f5b7-4e9d-a457-ba6a5769a88f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_d49fd0df-7ad0-4858-a19d-45a1cfcb0d9c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_d49fd0df-7ad0-4858-a19d-45a1cfcb0d9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_124b10a4-5496-4769-b098-d4d76e2cb172" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_124b10a4-5496-4769-b098-d4d76e2cb172" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_043a4e20-2430-4683-a369-c0bb16c5509d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_043a4e20-2430-4683-a369-c0bb16c5509d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3ace4c96-a0be-4b58-b8e5-6348bebdc2d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3ace4c96-a0be-4b58-b8e5-6348bebdc2d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9f3e5903-8fe8-4403-8449-0c598ec90a08" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_dce603e2-2359-4425-bfaa-ccf9a247af6e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9f3e5903-8fe8-4403-8449-0c598ec90a08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_7cbc4f50-bc7b-43bc-88de-d61df4e53875" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_93a33cca-1347-4c37-8cff-ba1698daa545" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_93a33cca-1347-4c37-8cff-ba1698daa545" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_d58664c2-9269-4b53-8b37-87ae36610a8d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_d58664c2-9269-4b53-8b37-87ae36610a8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_afe0aafa-531b-45e1-8967-cb81fdaf370e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_afe0aafa-531b-45e1-8967-cb81fdaf370e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d34d494b-aaec-4897-8681-cfc326950a55" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_d34d494b-aaec-4897-8681-cfc326950a55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_4749e09a-f8c3-4e42-8111-a1dabfc3e7c5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_0678f8a5-db75-4f39-973e-3dca6e030110" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_4749e09a-f8c3-4e42-8111-a1dabfc3e7c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockUnitsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_a5b692e5-42f4-4775-ba5c-5f0eada65a28" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_a5b692e5-42f4-4775-ba5c-5f0eada65a28" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_e01737cd-44ef-4074-af05-d5e53f83d7ed" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:href="appf-20201231.xsd#appf_RestrictedStockUnitsAndPerformanceStockUnitsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_e27ac384-3297-47c1-ba30-3456ad464ef1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_e27ac384-3297-47c1-ba30-3456ad464ef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsMember_fe60527a-a2b7-4126-87fb-b4ee76d785a1" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_RestrictedStockUnitsAndPerformanceStockUnitsMember_fd9b0da8-9385-420b-aed2-b654737b8d47" xlink:to="loc_appf_PerformanceStockUnitsMember_fe60527a-a2b7-4126-87fb-b4ee76d785a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019Member_d511bf2b-abff-4be1-8ce0-9746a450ea38" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019Member_d511bf2b-abff-4be1-8ce0-9746a450ea38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2018Member_f6f7e554-41ea-4ce1-bf81-571e443e79f0" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2018Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2018Member_f6f7e554-41ea-4ce1-bf81-571e443e79f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_712ba9fe-af21-442f-ae17-4507808a6dbd" xlink:href="appf-20201231.xsd#appf_PerformanceStockUnitsGrantedin2019and2018Member"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_appf_PerformanceStockUnitsGrantedin2019and2018Member_712ba9fe-af21-442f-ae17-4507808a6dbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_290296d3-e01b-4f07-8f69-0e82db64bff3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1ade40af-c9fc-46f8-a2b3-02637e29eea5" xlink:to="loc_us-gaap_RestrictedStockMember_290296d3-e01b-4f07-8f69-0e82db64bff3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_569d7236-73d8-4613-bf75-8eb5c334e6d0" xlink:to="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_A2016PerformanceMetricMember_262bd003-6125-474b-b217-fe09c720467d" xlink:href="appf-20201231.xsd#appf_A2016PerformanceMetricMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_ef2ab081-c728-471b-ac49-ec2aeda58efe" xlink:to="loc_appf_A2016PerformanceMetricMember_262bd003-6125-474b-b217-fe09c720467d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_cab2c566-2ab6-4732-bd9d-72a0a7b89a16" xlink:to="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d6d3c6ef-3953-45c3-a1c8-0468cb6eaa0d" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:to="loc_srt_MinimumMember_d6d3c6ef-3953-45c3-a1c8-0468cb6eaa0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_591b9063-6871-4e06-a57d-ce328dcd6a03" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_b21dae90-cde8-49c1-bc70-f4e93e41973e" xlink:to="loc_srt_MaximumMember_591b9063-6871-4e06-a57d-ce328dcd6a03" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_be403a9e-8809-4c13-a3a3-737fbb611698" xlink:to="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_9ec16971-7b4d-40f6-b69b-0989792ed207" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_9ec16971-7b4d-40f6-b69b-0989792ed207" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_33f9f11d-0103-4cf1-b254-eceabf3f0b43" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_33f9f11d-0103-4cf1-b254-eceabf3f0b43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_9c4afdb3-d765-4a21-aa84-8228c290701a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_d83c65d7-896e-422f-b282-2b63c8f05eee" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_9c4afdb3-d765-4a21-aa84-8228c290701a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_464a8786-28f0-423c-ae93-3d5115621e33" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_09bab94a-1df6-404e-be7a-33836d720134" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_09bab94a-1df6-404e-be7a-33836d720134" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_666de4a2-8477-4efc-b858-d5d8261f6672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_666de4a2-8477-4efc-b858-d5d8261f6672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_c37a7a94-4726-49e6-a65e-c30f10d85180" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric_c37a7a94-4726-49e6-a65e-c30f10d85180" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_b96e5645-061f-4761-a4d1-aba1afa01172" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent_b96e5645-061f-4761-a4d1-aba1afa01172" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ed0eaee4-9ed2-4db6-9602-59ff602afabe" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ed0eaee4-9ed2-4db6-9602-59ff602afabe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_37412d02-6f6c-4ada-8ed4-99568e699c3a" xlink:href="appf-20201231.xsd#appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric_37412d02-6f6c-4ada-8ed4-99568e699c3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_479b7657-76a9-4569-93a6-285a8b464fd2" xlink:href="appf-20201231.xsd#appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets_479b7657-76a9-4569-93a6-285a8b464fd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_b3d7a3cf-854f-4291-9cd4-255a1bde93a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_b3d7a3cf-854f-4291-9cd4-255a1bde93a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_aab53899-eaa9-45b7-a70e-aa1fb07b5db2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_aab53899-eaa9-45b7-a70e-aa1fb07b5db2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_aaae7363-1220-4cb0-bc57-2636fc855ac1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_aaae7363-1220-4cb0-bc57-2636fc855ac1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_87cc6ece-ced5-4616-94e9-d0eff698a2a0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c156c2a8-b90c-4d6c-8941-754062a3e8aa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_87cc6ece-ced5-4616-94e9-d0eff698a2a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#StockBasedCompensationRestrictedStockAwardsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2c75a4b8-d863-418f-8e63-23dda532a29c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2c75a4b8-d863-418f-8e63-23dda532a29c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:to="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_89110127-c561-4dde-a94a-03083c0a8c5e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_09f86ff0-6b6f-488f-a978-751fc3136087" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f3af3c42-633e-4d5c-8f8a-219fb6496af4" xlink:to="loc_us-gaap_RestrictedStockMember_09f86ff0-6b6f-488f-a978-751fc3136087" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c5e27221-ce4c-41c0-bc50-9f820f78044b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0bc6026d-a46a-4c01-87c0-3c266677d672" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0bc6026d-a46a-4c01-87c0-3c266677d672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4d8c83af-a45e-4bae-9822-1756f866ba1f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4d8c83af-a45e-4bae-9822-1756f866ba1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_be62a9bb-a1cc-4fde-aa47-4c63e9673d63" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_be62a9bb-a1cc-4fde-aa47-4c63e9673d63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_91622bc5-7219-4a88-a231-ecf06fe6e27f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_91622bc5-7219-4a88-a231-ecf06fe6e27f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_85f7818f-2db5-4b17-b722-39b4cdc5ee7b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_198510b5-2e59-42e2-95ce-0606b91e16ef" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_85f7818f-2db5-4b17-b722-39b4cdc5ee7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e2975f9c-ad73-4a85-9380-64ef57c88d41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_b82d3df2-b720-459b-9097-65961ff28963" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_b82d3df2-b720-459b-9097-65961ff28963" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_747f02aa-3bd5-4d19-9dbf-518f69599a08" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_747f02aa-3bd5-4d19-9dbf-518f69599a08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_549e8839-bc02-46bc-a1b4-21be9da1107d" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_549e8839-bc02-46bc-a1b4-21be9da1107d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6f36b188-b20d-4641-af34-b699d9bde2a2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6f36b188-b20d-4641-af34-b699d9bde2a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_d7303112-55c0-4f9b-846f-6af6784c7428" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_65b34cf6-186c-4194-9c37-852392e44128" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_d7303112-55c0-4f9b-846f-6af6784c7428" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxes" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_54bf64d8-a45b-4737-ae78-5c63040480fb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_97743ae4-0eb7-496e-8c48-18f5faa03574" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_54bf64d8-a45b-4737-ae78-5c63040480fb" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_97743ae4-0eb7-496e-8c48-18f5faa03574" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_35de9b1f-bb5e-4734-b109-b147e07cf183" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_35de9b1f-bb5e-4734-b109-b147e07cf183" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_358770a5-22c8-44b8-95b9-51ae226ba7f9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_358770a5-22c8-44b8-95b9-51ae226ba7f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_67be280b-b637-48f4-b141-d13d10f28ea0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_67be280b-b637-48f4-b141-d13d10f28ea0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SummaryOfValuationAllowanceTextBlock_8ba81e6e-c1d0-467b-bac3-271bd13be479" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:to="loc_us-gaap_SummaryOfValuationAllowanceTextBlock_8ba81e6e-c1d0-467b-bac3-271bd13be479" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_dd756f5b-6145-4fc9-b440-82b37facc8e9" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_107b9044-f98b-4b9f-a8e0-8ff7db28b5cb" xlink:to="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_dd756f5b-6145-4fc9-b440-82b37facc8e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_e8d961ef-10f5-4b11-b3bb-d3da1868ef6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_e8d961ef-10f5-4b11-b3bb-d3da1868ef6e" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_107f511d-7512-47f4-af92-f56596c6086f" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_27cde466-0af7-4656-b466-e99ec889b2a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_bdb5163d-db39-42db-a02e-e37b0d747ea0" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_27cde466-0af7-4656-b466-e99ec889b2a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_82b8070e-7055-4b54-8a9f-38a400b10296" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_MyCaseMember_c975ea6d-3c9f-4dc8-82aa-9755e236cebb" xlink:href="appf-20201231.xsd#appf_MyCaseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_9b02610f-0b55-46fc-a8f8-b8dfdc818a54" xlink:to="loc_appf_MyCaseMember_c975ea6d-3c9f-4dc8-82aa-9755e236cebb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_fc6fe0d5-8da9-49f5-80b2-9a3acb794eae" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_da7cf45a-b639-4dd0-b737-acc6b5030dd4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:to="loc_us-gaap_DomesticCountryMember_da7cf45a-b639-4dd0-b737-acc6b5030dd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_50a47f58-aa2f-42a6-aa29-a8248c6e27d4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_c8ba4660-e25f-4acd-a663-bd1ec01f23da" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_50a47f58-aa2f-42a6-aa29-a8248c6e27d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_c469105d-5221-4e7e-bead-c9427ae16272" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember_8fdd90d4-12e3-4916-aab3-5a6e0b4b4e7e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_e1743f2f-454e-460c-9841-c1a41e3cb8ce" xlink:to="loc_us-gaap_ResearchMember_8fdd90d4-12e3-4916-aab3-5a6e0b4b4e7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_5fe5cb8d-e1ce-4aa2-b985-c99b10db3d8c" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_761b0f9a-f092-461a-84cc-0af011d19193" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_761b0f9a-f092-461a-84cc-0af011d19193" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_5f3f8fe2-22e4-45e1-ae44-0b3d705e85cc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_5f3f8fe2-22e4-45e1-ae44-0b3d705e85cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_9f555e4c-6fb1-428e-bf6b-98de3f6ef559" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_9f555e4c-6fb1-428e-bf6b-98de3f6ef559" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_ca5c4c13-9cae-4ed9-822a-3c26462f5de0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_ca5c4c13-9cae-4ed9-822a-3c26462f5de0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_6042678f-571c-4699-b048-62de7cfc5e81" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_OperatingLossCarryforwards_6042678f-571c-4699-b048-62de7cfc5e81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_b95b974d-77a5-43a0-87dc-8e147932a275" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_b95b974d-77a5-43a0-87dc-8e147932a275" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_4c802623-f22a-4989-87ec-bb1d26efe4a8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_9ebb0156-9939-4955-8a89-6e5a1bde336b" xlink:to="loc_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_4c802623-f22a-4989-87ec-bb1d26efe4a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesEffectiveIncomeTaxReconciliationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_524d8822-bc96-4da1-87e5-02ce9b1a6c54" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_524d8822-bc96-4da1-87e5-02ce9b1a6c54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_f32e7e5a-7512-418c-b387-c5eea73ebc48" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_f32e7e5a-7512-418c-b387-c5eea73ebc48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_082b0c6c-10cc-4a91-a228-51ea00c81dc1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_082b0c6c-10cc-4a91-a228-51ea00c81dc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_03a149aa-cb37-4457-884c-f563e2396fe2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_03a149aa-cb37-4457-884c-f563e2396fe2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_b6b07cab-e738-4ccd-8a52-c17062636527" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_b6b07cab-e738-4ccd-8a52-c17062636527" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_7acd58ef-59fe-4ddd-8b61-d2b24eecaafa" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_7acd58ef-59fe-4ddd-8b61-d2b24eecaafa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_09c597da-8d4a-4190-8ca8-7abd1b37b03a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_09c597da-8d4a-4190-8ca8-7abd1b37b03a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_1ec79dd5-9c05-404d-8937-62bc9b14523a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_42e6410d-8f21-43c1-bc72-caea6d18acd1" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_1ec79dd5-9c05-404d-8937-62bc9b14523a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofIncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_d6d1a7fc-9c95-48ca-a6a7-b65844fb1037" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_d9cd6161-8e81-4beb-a5b6-95a9a0b8d791" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d6d1a7fc-9c95-48ca-a6a7-b65844fb1037" xlink:to="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_d9cd6161-8e81-4beb-a5b6-95a9a0b8d791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_6864582b-8a5f-4d33-a568-57b08f97b276" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_d9cd6161-8e81-4beb-a5b6-95a9a0b8d791" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_6864582b-8a5f-4d33-a568-57b08f97b276" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_904ec677-4287-49ea-a6b6-9c6b03ea5bed" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_d9cd6161-8e81-4beb-a5b6-95a9a0b8d791" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_904ec677-4287-49ea-a6b6-9c6b03ea5bed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_82b5ae9a-8306-49a3-a601-d5f1f7efd69a" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_d9cd6161-8e81-4beb-a5b6-95a9a0b8d791" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_82b5ae9a-8306-49a3-a601-d5f1f7efd69a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d6d1a7fc-9c95-48ca-a6a7-b65844fb1037" xlink:to="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_19d9fb9f-61bf-4118-85d9-887fc3c7f4ad" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_19d9fb9f-61bf-4118-85d9-887fc3c7f4ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_7357c791-bbee-4952-8a6c-81132d3afb6e" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_7357c791-bbee-4952-8a6c-81132d3afb6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_19f0eff3-fc23-4db0-8d03-85ffc11501f2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_19f0eff3-fc23-4db0-8d03-85ffc11501f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_0eb69ea6-85ae-4de0-af23-5193ea90476f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_530f8d0c-a1f8-44c0-8191-cb2a01777cb7" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_0eb69ea6-85ae-4de0-af23-5193ea90476f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_d942f814-2e2e-470c-8fcb-1e352a6cb999" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d942f814-2e2e-470c-8fcb-1e352a6cb999" xlink:to="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_aced34b6-517c-496f-b642-ed01be972994" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_aced34b6-517c-496f-b642-ed01be972994" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_2fd18510-b497-43b0-9239-e789a895a6bf" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_2fd18510-b497-43b0-9239-e789a895a6bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_7f6d86d4-f778-4889-9839-3d69f951a826" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_7f6d86d4-f778-4889-9839-3d69f951a826" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxAssetsLeasingArrangements_3e880e89-abe3-40fa-aa26-7d0e2f1a370d" xlink:href="appf-20201231.xsd#appf_DeferredTaxAssetsLeasingArrangements"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_appf_DeferredTaxAssetsLeasingArrangements_3e880e89-abe3-40fa-aa26-7d0e2f1a370d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_d6f78bc8-89a5-49fb-a2ef-ecc7e341eedb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_d6f78bc8-89a5-49fb-a2ef-ecc7e341eedb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_2aa9e1a1-3c13-4b0d-b3e6-a07880186038" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_3ade9cc0-89a8-4ab3-846d-5034e036e4d5" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_2aa9e1a1-3c13-4b0d-b3e6-a07880186038" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d942f814-2e2e-470c-8fcb-1e352a6cb999" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_ce3e747e-d0b4-4205-9f45-ddcacec55dbb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_ce3e747e-d0b4-4205-9f45-ddcacec55dbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_f3d2025a-213e-4b95-bb6c-e53683a424d6" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_f3d2025a-213e-4b95-bb6c-e53683a424d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions_2fba2045-c221-41a0-bb7e-678db9cb1ec7" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesCapitalizedCommissions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_appf_DeferredTaxLiabilitiesCapitalizedCommissions_2fba2045-c221-41a0-bb7e-678db9cb1ec7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_DeferredTaxLiabilitiesStateTaxes_badb4671-a193-46b4-8926-8f15dae7f2ef" xlink:href="appf-20201231.xsd#appf_DeferredTaxLiabilitiesStateTaxes"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_appf_DeferredTaxLiabilitiesStateTaxes_badb4671-a193-46b4-8926-8f15dae7f2ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_a6ce98dd-dc1f-4c96-b460-7ee45a8ec283" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_a6ce98dd-dc1f-4c96-b460-7ee45a8ec283" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_d582c461-7beb-4856-ab3d-543e4746f4f1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_d582c461-7beb-4856-ab3d-543e4746f4f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_bc9b4d81-9c9b-44bc-bb7a-1330bff62af4" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_918e03fb-6ad7-4d94-9c6a-507879bad9db" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_bc9b4d81-9c9b-44bc-bb7a-1330bff62af4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_09b51d0a-2af3-4353-8336-308a6ab04ac8" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d942f814-2e2e-470c-8fcb-1e352a6cb999" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_09b51d0a-2af3-4353-8336-308a6ab04ac8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_9f2e861a-9e48-4fc0-8d57-1bc08e036073" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d942f814-2e2e-470c-8fcb-1e352a6cb999" xlink:to="loc_us-gaap_DeferredTaxLiabilities_9f2e861a-9e48-4fc0-8d57-1bc08e036073" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesChangesinValuationAllowanceDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_c8fbd962-c36d-4028-b446-6b9a5bd29eb5" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ChangesInValuationAllowanceRollForward_93fef0fa-a32a-47a6-acf0-2b173053e17f" xlink:href="appf-20201231.xsd#appf_ChangesInValuationAllowanceRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c8fbd962-c36d-4028-b446-6b9a5bd29eb5" xlink:to="loc_appf_ChangesInValuationAllowanceRollForward_93fef0fa-a32a-47a6-acf0-2b173053e17f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_07477811-7732-4270-923b-cbf9b4d028bc" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_ChangesInValuationAllowanceRollForward_93fef0fa-a32a-47a6-acf0-2b173053e17f" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_07477811-7732-4270-923b-cbf9b4d028bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_c4efa5f9-c44d-40a2-8b23-49c0b95be129" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_ChangesInValuationAllowanceRollForward_93fef0fa-a32a-47a6-acf0-2b173053e17f" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_c4efa5f9-c44d-40a2-8b23-49c0b95be129" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_3294ba14-4d0e-4b9b-b892-de83411844eb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_appf_ChangesInValuationAllowanceRollForward_93fef0fa-a32a-47a6-acf0-2b173053e17f" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_3294ba14-4d0e-4b9b-b892-de83411844eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_63bc2459-197b-4ae8-89f1-9b62c70f9648" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_51a12ed5-5621-478f-8b15-520f094e01e0" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_63bc2459-197b-4ae8-89f1-9b62c70f9648" xlink:to="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_51a12ed5-5621-478f-8b15-520f094e01e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_40b82025-9243-478d-8edc-978790885e42" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_51a12ed5-5621-478f-8b15-520f094e01e0" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_40b82025-9243-478d-8edc-978790885e42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_458d4eaa-ae69-4dff-be53-5c8432dd0b58" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_51a12ed5-5621-478f-8b15-520f094e01e0" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_458d4eaa-ae69-4dff-be53-5c8432dd0b58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_0e2064dc-5baa-444d-8df2-047ded453084" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_51a12ed5-5621-478f-8b15-520f094e01e0" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_0e2064dc-5baa-444d-8df2-047ded453084" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformation"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_60a608f9-8e34-4f00-b0b0-d8ff30937ffb" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_956003c5-eb3e-442f-8e72-90847826df82" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_60a608f9-8e34-4f00-b0b0-d8ff30937ffb" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_956003c5-eb3e-442f-8e72-90847826df82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationTables"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_82939813-3326-46a6-9617-601aa14c59c1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductInformationTableTextBlock_6f45e35a-ea14-43ee-873b-335af2f71ad3" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductInformationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_82939813-3326-46a6-9617-601aa14c59c1" xlink:to="loc_us-gaap_ScheduleOfProductInformationTableTextBlock_6f45e35a-ea14-43ee-873b-335af2f71ad3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RevenueandOtherInformationDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RevenueandOtherInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_14c386e4-73d9-4733-a93a-c004b512ac91" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductInformationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_14c386e4-73d9-4733-a93a-c004b512ac91" xlink:to="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:to="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_fa1d257a-334e-482f-801d-b21c6d850cd8" xlink:to="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_CoreSolutionsMember_7509bd1e-4b2f-434d-ae20-4bae391ecbf8" xlink:href="appf-20201231.xsd#appf_CoreSolutionsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_CoreSolutionsMember_7509bd1e-4b2f-434d-ae20-4bae391ecbf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_ValuePlusServicesMember_eeb8b4aa-0fe7-4ab2-a094-8f6c47a9acec" xlink:href="appf-20201231.xsd#appf_ValuePlusServicesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_ValuePlusServicesMember_eeb8b4aa-0fe7-4ab2-a094-8f6c47a9acec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_appf_OtherServicesMember_2df98588-1d6b-41a4-906d-6abb8ea708ac" xlink:href="appf-20201231.xsd#appf_OtherServicesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_8ce52ac3-30e3-4f89-9146-683d7856b5ec" xlink:to="loc_appf_OtherServicesMember_2df98588-1d6b-41a4-906d-6abb8ea708ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfProductInformationTable_2add2e0c-87b5-49d3-939c-8dab54fe058f" xlink:to="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_e75e69e1-2441-4883-b662-a1f1ea0d2b2b" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductInformationLineItems_48471dad-b09f-4896-8f23-fce8c29f7167" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_e75e69e1-2441-4883-b662-a1f1ea0d2b2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlans" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlans"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RetirementPlans" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_d7b53fc5-e906-4344-8d7b-00450cd2bd94" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_3a62e456-5dd5-4287-9966-518b1611db84" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_d7b53fc5-e906-4344-8d7b-00450cd2bd94" xlink:to="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_3a62e456-5dd5-4287-9966-518b1611db84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="simple" xlink:href="appf-20201231.xsd#RetirementPlansDetails"/>
  <link:presentationLink xlink:role="http://www.appfolio.com/role/RetirementPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_7024f063-6bb9-4262-a72a-9ac34dd0c79c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_d2fef6d9-0c6c-4cea-b299-f5893a42129c" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_7024f063-6bb9-4262-a72a-9ac34dd0c79c" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_d2fef6d9-0c6c-4cea-b299-f5893a42129c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>appf-20201231_g1.jpg
<TEXT>
begin 644 appf-20201231_g1.jpg
M_]C_X  02D9)1@ ! @$ 8 !@  #_[@ .061O8F4 90     !_]L 0P " 0$!
M 0$" 0$! @(" @($ P(" @(%! 0#! 8%!@8&!08&!@<)" 8'"0<&!@@+" D*
M"@H*"@8("PP+"@P)"@H*_]L 0P$" @(" @(% P,%"@<&!PH*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*_\  $0@#
MP 3* P$B  (1 0,1 ?_$ !\   $% 0$! 0$!           ! @,$!08'" D*
M"__$ +40  (! P,"! ,%!00$   !?0$" P $$042(3%!!A-180<B<10R@9&A
M""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#4V-S@Y.D-$149'2$E*4U15
M5E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>H
MJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ\?+S]/7V
M]_CY^O_$ !\!  ,! 0$! 0$! 0$        ! @,$!08'" D*"__$ +41  (!
M @0$ P0'!00$  $"=P ! @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P
M%6)RT0H6)#3A)?$7&!D:)B<H*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E
M9F=H:6IS='5V=WAY>H*#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6V
MM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_:  P#
M 0 "$0,1 #\ _?RBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH ***\5_X*3:EXWT;_@G5\?=8^&>HZI9^)+3X*^*IO#]WH<\D
M5[!?+I%TT#V[Q$.DRR!"C(0P8 CG% 'M5%?E@/\ @CAXX_9O_P"":_B_XH?M
M ?\ !0W]I?Q7\6] ^%6JZ]J.I0?'G6[;3[+58-.EN!#;P0W"[X8Y%"[I"YDV
MEOE#;%_+C_@W*\=_M)_\%'_^"@=Y^SY^U+^W+^T!J?AF'X>:EJ\=MIGQMUVR
MD%U#<6B(WF170; 69^.AR/2@#^I:BOS3^'?_  3U_:%_8=_X+!_"7QUX!_;+
M^-?CGX+^.- \16.K>$?B'\1-1UF#1M6@L&F@RTTA66.51(T?F*71X'^=MR[?
MTLH ***\X_:R_:O^!?[$GP#\0?M)_M&>-K?0O"_AVT,MS/(09;F4C]W;0)D&
M6>1L(D8Y8GL,D 'H]%?+_P#P1U_;=\:_\%%_V"O#G[8/CO0[;2[KQ;XB\0FS
MTJU'RV5C!K-Y;VD#-_RT=+>*)6DP-[!FP,X'U!0 445^)O\ P>%^-/B[^S1\
M/OA/\>/V=/VA/B9X$U_Q#XDO=)UP>$OB/JUA:7MO':I)%NM8;A8%="I^=$5F
MWG<6XP ?ME17QQ_P;^?$3X@?%C_@CU\$?B%\4_'.L>)=?U/0KY]2USQ!J<MY
M>7;+JEXBM+-,S/(0JJH+$X"@=!7UIXS\(:+X]\,7G@_Q$;T65_%Y=P=.U2XL
MI]N0?DGMW26,Y Y1@>V<$T :=%?R;_\ !8']H#]K;]E+_@L=\1/V4O@K^W#\
M=-,\#Z7XNTF+2](;XRZ[,;6WO+*RN9(5DDNVD*JUPZJ68L% Y)&:_:/_ (*-
M?\$E/%_P[_9'\=?&;]B/_@H'^TOX#\=>"O"][KVF0W'Q[U[4].U8VD#SM:W,
M-Y<R?ZQ$9%=64([*Q# %2 ?I+17X@_\ !KQ_P7F_:<_;3^+^K?L*?MI>*!XL
MUF#PW-K/@OQO-:QQ7LJ6[QK/977E*JS'9()(Y2H?]U('9RR;?V^H ***\Z_:
MO_:K^!_[%/P#\1?M*?M$>-(-#\+>&K)I[NXD(,MQ)TCMH$R#+/(V$2,<LQ'0
M9( /1:*^7_\ @CM^V[XS_P""B_[!?AS]L'QSH=MI=SXM\1>(39:7:CY;*Q@U
MF\MK2!F_Y:.EO%$K/@;V#-@9P/J"@ HHHH **** "BBB@ HHKR;]LWX!>%/C
MY\#/$&D>(/%'B[1+JQ\/ZA)I.K^#O&NI:+=64Y@)68/8W$7F%&16"R;UX(*D
M,P(!ZS17\J7_  ;W_%#]J'_@HA_P48T[]FW]IK]NOX_ZAX6NO".JW\MOIGQK
MURSE\^"-6C821W.< D\=#WKV?_@I[^VG_P %,O\ @WH_X*3:7\,_A'^W3X_^
M*WPWUOPY9^)M*\,_&377UXR6,MQ<6\MA-/-^]0K):R;983$P1X\Y(;(!_2-1
M7G_[*7[0OA7]K3]F?P%^TWX)LIK72_'GA.PURTL[A@TEJ+F!9# Y'!>-F*$C
MC*G%>@4 %%%% !117\VO_!.C]K#]H7_@X0_X*=_&?P1\??B7JD'AR[^"?BFX
M^$WA#^V;RWT?PE>M/:6FG7AMK:5!-/"MR7>5LN[Y8$;4"@'])5%?#O\ P0A_
M8,_;W_X)\_LU^(/A!^W;^TW8_$.[N/$0N/"5IIVLWNI1:)9"(*\2W-Y%%+B1
MQO$(79'@D',C ?<5 !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M%^V:/=; 9=/F@$/F&Y63,:Q*I:4[?+#AT+?*_P#P=Z6VEW7_  19^$-SX/\
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
MUF"Y\$^*KC2+F6:#4=-58I9;=@TD#>8=T1^5BJD_=%?UI.Z1H9)&"JHRS$X
M%?RY?\&89 _X*O\ BC)Z_!#5_P#TYZ30!]<_\'6__!8']H7X2?%KPS_P3._9
M$^(NI>$;[5])M]2^('B30[UK:]E%W(T=KIL4Z$/ FU3+*4(+K+$NX+YBM-_P
M7[_9:TS_ ((J?LM?!O\ ;'_X)N_$/QAX \;:%X^M/"_B+5K7Q3>W*^*(9M/N
M[GS]2@N)9(;EO-LB2'3:WVAE(("!?E/_ (.S/V?_ !A\$_\ @K_X8_:D\3:7
M,W@_X@:/HUU9:H8V\D7&G&.VNK7(_C2.."4@?PW"X[X^\/\ @]2\6:4G_!,C
MX;^'K;5$,^J_&ZPN[=(I01/;Q:/JP=A@_,H::$Y&1R/:@#Z(\.?M::3_ ,%5
M_P#@W_U_]K>Z?4/#7B&Y^$WB"_NV\*Z[=Z=-H_B/3+6[C:6"6WE254%Q#YR(
MSL#&Z*^_G/X]_P#!O-\3O^"G_P"WUX[^+W[(7PZ_;A\;>'3XE\%6]SK?Q1\1
M:Y?:U<^%[""=D>/3H);A=EY=23PQ^<)$,<,<[J=XC(_2K_@E-^SOXX_9>_X-
M=O%.E_%33IM,U/Q)\(_&WBF6QNTV/:VMY97<EL6!Y!:V6&7!Y'FX/(KXN_X,
M?54_'[X^.5&1X/T4 XYQ]JN* /O'_@B%_P $7/VN?V(/AM\=?A-^WE^T6OC/
M0_B5J-@FA6GA7QEJOF6ZV_VDS:@+AA#+:W$QE@SY1W?Z,-S-A<?DA_P;K_$/
M]O#]N[]O^[_9WU[_ (*'?%K1- U+X>ZE-XHOX_&-W=W_ /9Z36HDCL'N9)$L
M[IV:-!=!"\4;2E,.58?U65_+#_P9N$#_ (*X:B">OP@UG'_@7I] &?\ M#Z_
M^TI_P1K_ .#@6_\ V??V'/VEO%DULWBG0;&S3X@:W/J-O?Q:O:6DKP:BBL@N
MXTDNV(; <;$8'>-U>R?\'.W[&OQ._P"">-]\&OVL?!W[<WQC\5?$3Q;JNI0>
M*_%&O>+&A(OK=+>:*?3X;41KIT0,DRK;QDHB"-0<JS/Y7_P7*(7_ (.E@S$
M#X@?#S)/_7EI%?9W_!\'+$/@-\ 83(H=O%VMLJ$\D"UMLG'H,C\Q0!][?!']
MM7]J?X@?\$%-#_;<^'?@E_&OQAF^!HU6QTR&Q,K:KK,5L8VG^SQ<REI(VF,,
M8!?E% +#'YI?L6?#&[_;]_X(_?M)_M4_\%6/#'Q#M_B=X7CUNY\)_%?QUXTU
M33%>9=/,UK#I]H\L5M;)#=*(C%%$(I#*$P2"H^V/V)?VS=+_ & /^#8KP#^V
M+>>&3KW_  A/PDAGL])2;8MW>2WIM;>)W )1#<31AV )5=QP2,5^=/[%7[;_
M ,$O^"C7[.7[3?[:7_!6O]K7PSK?Q/T/PKJVE_!CX4>)-6BM=,T-KG2IQ%=Z
M1I#-MN+IYI%@254EGC\G<SEG#T >^_\ !FU^WM^TY^T!HWQ6_9>^.?Q0U7Q;
MH7@G3]+U/PC<Z_>O=76FK/)<136RS2$NT)V1,B$XC*MMP&P/DW_@Y%^+?[2?
M[+7_  61D^'/[-7[3?Q&\,:3X@TC1-970K;XAZLNGQ7US(Z2D1?:2$C=XPQC
M0!1N8!17>_\ !DIXJ\,>'OVA_CE8Z]XBL;&:_P#"FB1V,5W=)&UPYO9D"(&(
MW,6D10!R2ZCN*\L_X.LKFW/_  74T'$Z?N?"'A<2_,/D/VB9N?3@@_0T >C?
M\'._[(7QI_8%O?@W^U[IW[>7Q;\6?$OQ=JE_!XJU_4O$9M(+>^MX[>:*32K>
MU6,:;;JTDJK K,%41_,6#LWZV_!#_@IKJ7@+_@@WX:_X*<?M!J-7UG3/@Y;Z
MOK*+MA_MC5506T:_*-L9N;KRP2!A3,<# Q7P;_P?!R1CX"_ &$R*';Q?K95<
M\D"UMLG'XC\Q7IT/[/OCC]JK_@SLTSX._"W3Y=0UN?X.6.IV-C9IYDMTVF:O
M%J+P1J,EI'6S=%4<EB .30!X=_P2W_9_^*?_  7I_8%_:>_;1_:R\?:[XQ^+
M>KZQJWAGX0VW_"2W=EIO@^^MM*@O;46%M',L-O&US>VZ-N!)2$[F)DD9_HK_
M (-V?B5_P4M_9A_8<^-FJ?\ !63PKX[TCPA\)X?[5\'7_P 0HI?[5-A;6EU/
MJ<*-<'S);6)8+<PNQ*9ED5&*J OQK_P9U_\ !3/X(_ *]^(/["GQ]^(NE>%D
M\6ZQ!XC\"ZCK=\EM:W5_Y*VUW:&60A%E>.*U:-21O\N11\VT-^RO[6_C_P"%
M7[>'[+7[1/[&'[-OQ(T_Q3XOE^$>K:7>?V#-]JM+&^U"PNH;2UEN8\PK.S+N
M:#?YBQE6955T) /RH_X(]?M#^!_^"XW[2WQV_:<_X*M?%ZP_X170HK+2_AA\
M*M6\=/IFCZ+%>M=-)+!"DT/FW$4,$,?VD@N6F=R01'L]"_X-D/\ @I#\7M:_
M:\^,_P#P2E^+?Q@U+Q[X?\!W.K7OPK\4:[J1O;M+&QU(6<EJ;DDF>)HY8)HL
MG"!)0IVE57X4_P"#5WXV_L1_#']J_P ?_LM?M_?#+P$[>.[*S3PIJ?Q-\/6<
MT6FZO8R3J]AOO(R+9YTN&X8J&>U2/[[(#_0O\$K?_@G?X1_:?G^$G[+OP1^'
M5OXXTSPO)J/B+6?A[X3TR(:%:22QQPV]Y=6RJT,ET=[10<M(EK,Y 5 2 ?0U
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
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
M7P8UGP1?ZE&B:K%9?$KQ#<6FH*@D$?VBTN;^2WN-GFR%#)&Q0N2N"<U]-T4
M<W\6?A1X1^-G@2^^&_CJ;6TTK48S'>#P_P"*+_1[ET((*BYL)X9U!!((5P#W
MKY=_9W_X($_\$IOV2OB=:_&;]FK]G36_!?B>SA>&'6-!^+/BB&1HGQOB<?VG
MMEC;:N8W#*=HR#@5]C44 >8?M;_L9?LQ_MU_"&X^!?[5WPATSQAX:GF$\=I?
M;XY;2=00L]O/$RRV\H#,/,C96VLRDD,0?G_P]_P09_8%3Q5X/\2_%VW^('Q5
MM_AW&L?P_P##WQ7^(E_KFD^'HU" );V<S^4R 1QC;*L@PB @[%Q]GT4 <-^T
M3^SE\)?VJ_A#JOP'^-VDZI?^%-=MFMM9TO2?$^H:2;VW9&1[>673YX)7A=&9
M7B+['!PRD5X9^R1_P1,_X)J_L(_$D_%S]DCX$ZSX(UV2 0W=QIGQ/\2/#>1!
M@PBN+>;4'AN8PP#;)4=<C.*^K** ,+XF?#KPU\6_ >J?#;QC+JJ:7K%J;>^.
MB>(+S2KHQD@D1W5E+%<0DXP3'(I()&<$@_+'[-W_  0,_P""4G[(/Q>TOX\_
MLT_LV:KX/\6Z.Y-EK&D_%+Q,&VG&Z*1'U%HYXFP T4BM&XX92*^Q** /B_XN
M_P#!O=_P21^/?QAU/]H'XQ_LSZSXA\:ZQ?I>ZCXFU'XL^*6NY9T"K&P<:F-F
MQ414"X"*BJH 4 =9^U5_P1C_ ."=G[<%QX>N?VL_@_XD\=MX4TW[#X?&N_%C
MQ,ZVD1V[V 740&E?8GF3,#+)L7>[;1CZDHH \.^%?_!-_P#8T^#7[*VK?L1>
M"?A)<2?"G6K.XM+WP5X@\5:IK%JD$^3)%";^YF>V0LQ<+"R!9"9%P_S5YQ^R
M)_P0I_X)7_L/^*;[QU\!/V3])CUN_M9K5]6\27]UK$T%O*A22*$WLDHA5D9D
M8H%9E9E9B#BOKBB@#Y&_9)_X(5?\$M_V'_CG)^T?^SG^S!:Z3XO7SAINI7^M
MWVH#2A*")/LD=U-(D!*L4WJ-X0E0P5F!S_VA?^" '_!)S]J_XNZM\>?VC/V:
M-5\7>+M;F$FHZWJWQ3\3-(^T81$5=2"11HH"I'&JHB@*J@ "OLFB@#Y:_:B_
MX(P?\$Z_VUH/#%M^U;\(/$OCN/P9I9T_PVNO_%KQ/(+.$[=[<:D/,F?8F^=]
MTLGEIO=MBX]8_9-_8]^ '[#WPEM_@5^S-X7U30O"5E,\FGZ'J'BW4]6BLM[%
MF2 ZA<SM!&69F,<95-S,VW+$GTVB@#X!_:2_X-D_^"0O[3OQBO/C?XL^ FHZ
M#J^JWS7FN6W@_P 1SZ?9:C.Q)=WMU)2(L3EO)$>XY8\DD_7O[,/[*G[/'[&/
MP@T_X#?LP?"C2_!WA3369X-+TM&/F2MC=--*Y:2>5L+NED9G;:,L<"O0:* /
MA?\ ;(_X-RO^"4W[;_Q>O?CQ\4_@=?Z1XJU>Y^T:]J?@[7IM.7592<M)/"N8
MC(W):145W))9B>:^D/V-_P!AW]EG]@+X11? _P#9,^$.G^$M %P;F[2V=YKB
M_N2H4SW-Q*S2SR$ #<['"@*N%  ]8HH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N/
M3]H'X'3?&S_AFZW^+/A^7Q^-$DUB3P=#JD;ZC#8(\2-<R0*2\<>Z:(!F #%N
M,X..PK\UM%^'/P_^''_!U/#!\/O!&DZ''J_[$4NHZI'I&GQVRW=VWBMXVN)!
M& 'D*11J7/)"+D\4 ?I37+_&+XV_!W]GGP#=_%3X\_%+P_X-\,V,D4=YK_B?
M5X;&S@>1Q'&K2S,J@L[*H!/)( KJ*_/+_@M-HO[<VO\ Q0^'NO?"K_@F?X9_
M:7^#/@G3KW6/&/@+Q!KUDIU75Y5:WA=;&X63[4UK;&<QKY,N9+T,L9>!" #[
M&_9^_;"_92_:P757_9B_:/\ !'Q!70C"-:;P;XFMM2%B9M_E"4P.WE[_ "Y-
MN[&=C8Z&JOB']MC]DKPG\5O^%(^(_P!H3PO9^*%U"WT^?2YM40&VO9P#;V<T
MG^K@N90R^7!(RR2;UVJVX9^2?V1OV]?V#%_X)5_&G]M'_@GU^S/X:^%-_P##
M[POKM_XY^'&G^";/1;S2_$.FZ=+,MM?06L:+*<HBI*1AE)!V,KHG(_L%?L]Z
M!\3/^#9R]\._$D?VKJOQ4^$_B?Q9XMUR^/F7.H:QJ)O+T:A+(>7N$<P,KGE3
M!'_=% 'Z1^,?&7A#X=^%=0\=>/\ Q3IVAZ)I%H]UJNL:O>QVUK9P(-SRRRR$
M)&B@$EF( %<E\$OVIOV>?VCI-0MO@E\6M(\07.DI#)J5C:3%;FVBF!,,SPR!
M9%BE"L8Y=NR3:VUFP<?C?I?[;7Q-_;W_ &7?^"7?[/OQ2UF?4[7XP_$&YO?B
M?]K<M_PD,/A"^6W6*[W?ZY+B6+SY%.0[Q*3VKZV_X*\_$74_V8O^"FW[#7[1
M7@>X:TU'Q9\3+OX8>*4@.T:MI&L-:1I!/C[Z07!%Q&#PLGS4 ?HS1110 45Y
M?\5O"G[6>K^+GO/@_P#%?POI&BF! EEJVA/<3"0#YV+@C@GH*\]UKQ?^V!\)
M_BAX&\-_$GXK^&-5L?%NNMIXATOPV8V4B,N2S,_RCCL": /I*BL?[%XW_P"@
MW9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7
M_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@
MW9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7
M_@,?\: -BBN=O[CQCI]S:VLNKVK&ZE\M"MMP#C//-6OL7C?_ *#=E_X#'_&@
M#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?
M\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@
M#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?
M\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@
M#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?
M\:/L7C?_ *#=E_X#'_&@#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@
M#8HK'^Q>-_\ H-V7_@,?\:/L7C?_ *#=E_X#'_&@#8HKG8KCQC-JTND+J]J'
MAB61F-MP0?QJU]B\;_\ 0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\
M0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO
M_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\
M0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO
M_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\
M0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO
M_P!!NR_\!C_C1]B\;_\ 0;LO_ 8_XT ;%%8_V+QO_P!!NR_\!C_C1]B\;_\
M0;LO_ 8_XT ;%%<[I%QXQUBV:Z@U>U4+*T9#VW.5./6K7V+QO_T&[+_P&/\
MC0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]!NR_
M\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P
M&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]
M!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&
M[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B
M\;_]!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+Q
MO_T&[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%<
M[I%QXQUBV:Z@U>U4+*T9#VW.5./6K7V+QO\ ]!NR_P# 8_XT ;%%8_V+QO\
M]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C_C1]B\;_
M /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P# 8_XT ;%%
M8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T&[+_ ,!C
M_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\ ]!NR_P#
M8_XT ;%%8_V+QO\ ]!NR_P# 8_XT?8O&_P#T&[+_ ,!C_C0!L45C_8O&_P#T
M&[+_ ,!C_C1]B\;_ /0;LO\ P&/^- &Q16/]B\;_ /0;LO\ P&/^-'V+QO\
M]!NR_P# 8_XT ;%%8_V+QO\ ]!NR_P# 8_XU7U1_&6E:?+J,VL6C+"FYE6V.
M3^M '045B06_C6>%)UUJS =0P!MCW'UI_P!B\;_]!NR_\!C_ (T ;%%8_P!B
M\;_]!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+Q
MO_T&[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8
M_P!B\;_]!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-
M'V+QO_T&[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T
M;%%8_P!B\;_]!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8
M_P"-'V+QO_T&[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_
M (T ;%%8_P!B\;_]!NR_\!C_ (U5O[CQCI]S:VLNKVK&ZE\M"MMP#C//- '1
M45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]!NR_\!C_
M (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\
MC0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]!NR_
M\!C_ (T?8O&__0;LO_ 8_P"- &Q1679VGBU+I'OM6M7B#?O$2W()'L:U* "B
MBB@ HHHH **** "BBB@ HHHH *_,?5_CE\%7_P"#J[2T3XN^&24_8S;P^W_$
M]M^-6_X2F:;^S_O_ /'SY1#^3]_;SC%?IQ10!X-^U_\ \%*OV0/V$OB+\-/A
M=^TW\2)?#^J?%G6I=,\('^RIYH'EC:!'>>6-2L$8>YMUWN0,R@_=5V6K\3/^
M"JO_  3X^"/[2&J_LF_'/]J7PQX%\;:1H]KJD]CXVN6TFUGM[@$QF"\NA';W
M#'^Y'(S9R,95@.V_:3_9TLOVF-.TCP+XOO-.3PM#J,5WK]LVEB6]ODAFBF2T
MAG9L6T,K1!)R$9Y(BT:F,MYB]YJG@_PEK>K6FOZSX7TZ[O\ 3R387MU91R36
MQ/>-V!9/P(H ^&O@9^PSH'[1=_\ ML_%G2]&NO#?@K]K#3K70?#D5]IKVLES
M;V^@S:?/KHMW"O$+FYNYY$+*KRI D^,3*3X[^RY^U-IW[-__  08UO\ 9'^+
M$\.F_'SX<^"]<^&H^% G5]:U#7R+FVTJ&TM%_?74=U'+:31RQ*R-$[."51B/
MU8JE+X<\/3:[%XHFT&R?4X8#!#J+6J&>.(G)19,;@I/) .* /Q^^(G_!-SX@
M_P#!/3]D']@'X]7^AR7MS^REXL:Y^,4&EQ^>=,TG7YEFUN] CR9H[*=BS%0?
MW9DDX4,1[A^V[H?A;_@I9_P4[_9.\ _L]^+=*\7>$_@CXFN_B9\3?$_AZ_CO
M;#27A6V;1K5IX6:,W-Q/&["'=O$*F7:4Y/Z/$ C!%4]"\.>'O"]C_9?AG0K/
M3K8R-(;>PM4ACWL<LVU !DGDGO0!<HHHH *\+_:P_P"2V? __L>Y?_29J]TK
MPO\ :P_Y+9\#_P#L>Y?_ $F:@#W2BBB@ HHHH **** "BBB@ HHHH Q_$O\
MR%]'_P"OT_\ H)K8K'\2_P#(7T?_ *_3_P"@FMB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH Q[+_D=[W_KRB_F:V*Q[+_D=[W_
M *\HOYFMB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH Q_ __((E_P"OV;_T*MBL?P/_ ,@B7_K]F_\ 0JV* "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#'\#_\@B7_ *_9O_0JV*Q_
M _\ R")?^OV;_P!"K8H **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH *S?&/_(L7O\ UP-:59OC'_D6+W_K@: +FG?\@^#_ *XK_(5-4.G?
M\@^#_KBO\A4U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !6/XE_Y"^C_ /7Z?_036Q6/XE_Y"^C_ /7Z?_030!L4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %>%_M8?\EL^!_P#V/<O_ *3-7NE>%_M8?\EL^!__ &/<O_I,U 'N
ME%%% !1110 4444 %%%% !1110!C^)?^0OH__7Z?_036Q6/XE_Y"^C_]?I_]
M!-;% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!C
MV7_([WO_ %Y1?S-;%8]E_P CO>_]>47\S6Q0 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 8_@?\ Y!$O_7[-_P"A5L5C^!_^01+_
M -?LW_H5;% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110!C^!_P#D$2_]?LW_ *%6Q6/X'_Y!$O\ U^S?^A5L4 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %9OC'_ )%B]_ZX&M*LWQC_ ,BQ
M>_\ 7 T 7-._Y!\'_7%?Y"IJAT[_ )!\'_7%?Y"IJ "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "L?Q+_ ,A?1_\ K]/_ *":V*Q_$O\
MR%]'_P"OT_\ H)H V**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O"_VL/^2V? __ +'N
M7_TF:O=*\+_:P_Y+9\#_ /L>Y?\ TF:@#W2BBB@ HHHH **** "BBB@ HHHH
M Q_$O_(7T?\ Z_3_ .@FMBL?Q+_R%]'_ .OT_P#H)K8H **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** ,>R_Y'>]_Z\HOYFMBL>R_Y
M'>]_Z\HOYFMB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH Q_ __ "")?^OV;_T*MBL?P/\ \@B7_K]F_P#0JV* "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#'\#_\ ((E_Z_9O_0JV
M*Q_ _P#R")?^OV;_ -"K8H **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH *S?&/_(L7O_7 UI5F^,?^18O?^N!H N:=_P @^#_KBO\ (5-4
M.G?\@^#_ *XK_(5-0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 5C^)?^0OH__7Z?_036Q6/XE_Y"^C_]?I_]!- &Q1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 5X7^UA_P EL^!__8]R_P#I,U>Z5X7^UA_R6SX'_P#8]R_^DS4
M>Z4444 %%%% !1110 4444 %%%% &/XE_P"0OH__ %^G_P!!-;%8_B7_ )"^
MC_\ 7Z?_ $$UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% &/9?\CO>_P#7E%_,UL5CV7_([WO_ %Y1?S-;% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110!C^!_^01+_P!?LW_H5;%8
M_@?_ )!$O_7[-_Z%6Q0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 8_@?_D$2_\ 7[-_Z%6Q6/X'_P"01+_U^S?^A5L4 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %9OC'_D6+W_ *X&M*LW
MQC_R+%[_ -<#0!<T[_D'P?\ 7%?Y"IJAT[_D'P?]<5_D*FH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH *Q_$O_(7T?\ Z_3_ .@FMBL?
MQ+_R%]'_ .OT_P#H)H V**** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O"_P!K#_DMGP/_
M .Q[E_\ 29J]TKPO]K#_ )+9\#_^Q[E_])FH ]THHHH **** "BBB@ HHHH
M**** ,?Q+_R%]'_Z_3_Z":V*Q_$O_(7T?_K]/_H)K8H **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** ,>R_P"1WO?^O*+^9K8K'LO^
M1WO?^O*+^9K8H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** ,?P/_ ,@B7_K]F_\ 0JV*Q_ __((E_P"OV;_T*MB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH Q_ _\ R")?^OV;_P!"
MK8K'\#_\@B7_ *_9O_0JV* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "LWQC_P BQ>_]<#6E6;XQ_P"18O?^N!H N:=_R#X/^N*_R%35
M#IW_ "#X/^N*_P A4U !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !6/XE_P"0OH__ %^G_P!!-;%8_B7_ )"^C_\ 7Z?_ $$T ;%%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !7A?[6'_);/@?_P!CW+_Z3-7NE>%_M8?\EL^!_P#V
M/<O_ *3-0![I1110 4444 %%%% !1110 4444 8_B7_D+Z/_ -?I_P#036Q6
M/XE_Y"^C_P#7Z?\ T$UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% &/9?\CO>_]>47\S6Q6/9?\CO>_P#7E%_,UL4 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &/X'_Y!$O\ U^S?
M^A5L5C^!_P#D$2_]?LW_ *%6Q0 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 8_@?_D$2_P#7[-_Z%6Q6/X'_ .01+_U^S?\ H5;%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6;XQ_Y%B]_
MZX&M*LWQC_R+%[_UP- %S3O^0?!_UQ7^0J:H=._Y!\'_ %Q7^0J:@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K'\2_\A?1_^OT_^@FM
MBL?Q+_R%]'_Z_3_Z": -BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH ***_.KPWJGQ<\&_\ !S1_PJ+6OVA?&WB7PKJ/[(=Q
MXFM?#>NZHGV#3+R7Q'':,;>VMXXH4_=VD?SE#(=S;G:@#]%:**^4OVL_^":]
M]^WQ\2]7N_VC/VC_ (E:!X&TN&&S\#^"_AGXSET6!V,"23ZI?/"N^YNO/=XH
MHW)BBCMU8*6F>@#ZMHK\]_\ @A+XM_:;\'Z[^T?^Q5\?_C3K/Q*T'X#?%1-
M\"?$+Q-<&>_N[&:V^T&SN)R3YLENA@+$DE3.5R$5%7Y5T;]I?]A7_@KO^W%X
MH\)_%+_@K3^TU\"O'%SXGFT+X<_#+P3XTE\(Z3>:1;.8;25&GLY([B]NW$ER
M0TB2$7,4*(WDY(!^V5%? _\ P5-^.WCK]G32/V8?^":?P#^)?B32=:^.7CVP
M\(7?C=]9DFURT\,Z>EO_ &K=1WCDR?;Y(I(4^TGYP9I) 0^UAG_M#>-H/^"6
M'_!1#]FOPW\)-2U6W^%7Q_UF]\">,_".I:[=WUO:ZV%A;2=4M?M4LC0W$DLK
MP3E6 F0JSAY$5@ ?H11110 5X7^UA_R6SX'_ /8]R_\ I,U=Q\0?VGO@!\*O
M$;>$OB)\5-+TC4DA25K.[D8.$;E6X!X->(?'+]I#X&?%/XX_!N#X>_$S3=6>
MP\;-)>+:2,?*1H"BDY X+$"@#ZKHK-_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^
MJ -*BLW_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ_P!!J#_OJC_A
M,?#'_0:@_P"^J -*BLW_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ
M_P!!J#_OJC_A,?#'_0:@_P"^J (?$O\ R%]'_P"OT_\ H)K8KF=>\2Z#<ZGI
MDT&J1,L-T6E8'[HV]36I_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8
M^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8
M_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]
M]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1
M_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0!I45F_P#"
M8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\)CX8_P"@U!_WU1_PF/AC_H-0
M?]]4 :5%9O\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]]4 0V7_([WO_ %Y1?S-;
M%<S:>)=!3Q;=WKZI$(GM8U23/!()R*U/^$Q\,?\ 0:@_[ZH TJ*S?^$Q\,?]
M!J#_ +ZH_P"$Q\,?]!J#_OJ@#2HK-_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZH
MTJ*S?^$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJ@#2HK-_X3'PQ_T&H/^^J/^$Q\
M,?\ 0:@_[ZH TJ*S?^$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJ@#2HK-_X3'PQ_
MT&H/^^J/^$Q\,?\ 0:@_[ZH TJ*S?^$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJ@
M#2HK-_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZH TJ*S?^$Q\,?]!J#_ +ZH_P"$
MQ\,?]!J#_OJ@#2HK-_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZH A\#_ /((E_Z_
M9O\ T*MBN9\)>)=!L=,DAN]4BC8W4K!6/8MP:U/^$Q\,?]!J#_OJ@#2HK-_X
M3'PQ_P!!J#_OJC_A,?#'_0:@_P"^J -*BLW_ (3'PQ_T&H/^^J/^$Q\,?]!J
M#_OJ@#2HK-_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^J -*BLW_ (3'PQ_T&H/^
M^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^J -*BLW_
M (3'PQ_T&H/^^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ_P!!J#_OJC_A,?#'_0:@
M_P"^J -*BLW_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ_P!!J#_O
MJC_A,?#'_0:@_P"^J -*BLW_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJ@"'P/_R"
M)?\ K]F_]"K8KF?"7B70;'3)(;O5(HV-U*P5CV+<&M3_ (3'PQ_T&H/^^J -
M*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'
MPQ_T&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&
MH/\ OJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2
MHK-_X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ
M_P!!J#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0
M:@_[ZH_X3'PQ_P!!J#_OJ@#2K-\8_P#(L7O_ %P-'_"8^&/^@U!_WU6?XH\4
M>'[SP_=VMKJL3R/$0B*>2: -S3O^0?!_UQ7^0J:LBQ\7>&H[*&-]9A#+$H()
MZ'%2_P#"8^&/^@U!_P!]4 :5%9O_  F/AC_H-0?]]4?\)CX8_P"@U!_WU0!I
M45F_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]4 :5%9O_  F/AC_H-0?]]4?\)CX8
M_P"@U!_WU0!I45F_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]4 :5%9O_  F/AC_H
M-0?]]4?\)CX8_P"@U!_WU0!I45F_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]4 :5
M%9O_  F/AC_H-0?]]4?\)CX8_P"@U!_WU0!I45F_\)CX8_Z#4'_?5'_"8^&/
M^@U!_P!]4 :5%9O_  F/AC_H-0?]]4?\)CX8_P"@U!_WU0!I5C^)?^0OH_\
MU^G_ -!-?,?[;_[?-_\ #G4G^$_P1OH?[66('5M;*!Q9[AD11!A@R8()8@A<
M@ ;LE?B;Q%X^\<^+M2;6?%7C+5-2NV;<;F^OY)7S]6)(K\+XT\=LAX6S2>7X
M6@\34INTVI*$(M;Q4K2;:V=E9/2][I?(YKQ?@\OQ#H4X.I);ZV2?:]G=]]#]
MC:*_+?X#_MI_&_X&:O ;;Q1=:UHRL!<Z%JUTTL3)W$;-DPMZ%>,]0W2OT9^&
MWQQ^'7Q2\$:=X\\-ZXGV74( XBFXDA;HT;CLRL"#VXX)&#7U? 'B?D7'\)T\
M/%TJ\%>5.5F[;<T6OBC>R>B:;5UJF_1R;B#"9RFH)QFMXOMW3ZHZ^BLW_A,?
M#'_0:@_[ZH_X3'PQ_P!!J#_OJOTD]TTJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H
M/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJ
MC_A,?#'_ $&H/^^J -*BJ%MXH\/WDZVMKJL3R.<(BGDFK] !1110 4444 %%
M%% !1110 4444 %?GAK/_*U9I/\ V8@W_J7S5^A]>)2?\$\/V4Y?VK4_;>D\
M*>)C\4(M&_LA/$__  LK7^--\XS_ &'[-]N^S_9O-)D\CR_+W'.W- 'L&J>)
M/#NB7EEIVM:]96=QJ4Y@TZ"ZNDC>ZE"EC'&K$%VV@G"Y. 37G?[1GQYUKX>_
M8?A3\'=&M=?^*'BJ"4>$] N786]K&I59=4OV3YH+"W+J9'X:1BD$6Z65%/B_
M_!3[_@G/\./V]?%'PJU?4_A]K$WC3P%XC%_X1\=V?B*6QM?"4;75E-=W3I',
MK7,Y2U06\8C<><J[S''O:I_VFO\ @AY_P3(_;'^,NH_M _M*? '6/%'B[5(8
MH;K5;CXG^)( L,8Q'#%#!J*101+EB(XT5 68XRQ) /4_V3O@;\*/V0? \'[/
M^B^.8M6\5ZI)?^+/%VK:E+&FI>)-2N;A6U#6)XU/ DN)548^2-?+B7Y8U \5
M_P""Y'[)/[,?[5O_  3>^)?B3XT:!I;:GX0\#ZAKO@/QBD:"^TG4X(&FM#:S
MK\^)9EBC,2']\) H!8J1W?[+/_!)'_@GI^Q;X:\=>$/V</V=X=#L/B5I2:;X
MWBO?$NJ:FVJ6:1SQK TE_<S/&FVXF!6,J#OR<D*12_9D_P""1/[%G[)T>EZ;
M\-=#\9ZAH_A[4%O?"OA;QA\2M9UG1=!G1M\<MGIUW<O:12H_S)-Y1E1OF5P>
M: /C/]NWP/\ &KP/\?/^"6O[4_[1GVDZIX8\0VWA#XH7UT<_9_$&M:580J\K
M?P[KJWN@S$XSM&1GGT'_ (+6^"]5^./_  47_8 ^!7A"![C5;3XX7'CB^2$9
M-MINB"SNYY9/[B$?("<;F.T<\5]]?&_X&_"?]I'X7:M\&/C?X)M/$/AK6H5C
MU#3+LLH)5@\<B.A5X94=5=)8V5XW171E901R_P &/V./@M\$O'][\7M(37_$
M'C._TE-)E\8>-?$UWK.I1::C^8MC#-=2.8(-_P [)&%$C@/)O<;J /5****
M,O5O!'@O7KPZAKGA#2[VX*A3/=Z?'(Y Z#<RDXKPS]ISP;X0T+XV_!-M$\*:
M;9F7QS()3:V,<>\"W8@':!GGFOH>O"_VL/\ DMGP/_['N7_TF:@#V[^SM/\
M^?&'_OT*/[.T_P#Y\8?^_0J:B@"'^SM/_P"?&'_OT*/[.T__ )\8?^_0J:B@
M"'^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:B@"'^SM/_P"?&'_OT*/[.T__ )\8
M?^_0J:B@"'^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:B@#"\1V5FFJZ2J6D0#7A
M# 1CD;36O_9VG_\ /C#_ -^A6;XE_P"0OH__ %^G_P!!-;% $/\ 9VG_ //C
M#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U%
M$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\
M/C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_
M -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!
M#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\
M\^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% &%9V5F?&=[$;
M2+:+.,A?+& <FM?^SM/_ .?&'_OT*S;+_D=[W_KRB_F:V* (?[.T_P#Y\8?^
M_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[3_\ GQA_[]"IJ* (?[.T
M_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[3_\ GQA_[]"I
MJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0H_L[3_\
MGQA_[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8?^_0
MH_L[3_\ GQA_[]"IJ* (?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__
M )\8?^_0H_L[3_\ GQA_[]"IJ* ,+P796<NE2-+:1,?MDHRT8/&ZM?\ L[3_
M /GQA_[]"LWP/_R")?\ K]F_]"K8H A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*
MFHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\
M^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]
M"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_
M /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FH
MH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?
M&'_OT*FHH PO!=E9RZ5(TMI$Q^V2C+1@\;JU_P"SM/\ ^?&'_OT*S? __((E
M_P"OV;_T*MB@"'^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:B@"'^SM/_P"?&'_O
MT*/[.T__ )\8?^_0J:B@"'^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:B@"'^SM/
M_P"?&'_OT*/[.T__ )\8?^_0J:B@"'^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:
MB@"'^SM/_P"?&'_OT*/[.T__ )\8?^_0J:B@"'^SM/\ ^?&'_OT*/[.T_P#Y
M\8?^_0J:B@"'^SM/_P"?&'_OT*/[.T__ )\8?^_0J:B@"'^SM/\ ^?&'_OT*
M/[.T_P#Y\8?^_0J:B@"'^SM/_P"?&'_OT*SO%UC91^&KQX[.)6$)P5C (K7K
M-\8_\BQ>_P#7 T 3:?I]@UA 390DF%<DQCT%3?V=I_\ SXP_]^A1IW_(/@_Z
MXK_(5-0!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ
M%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\
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
MHH **** "BBB@#'\2_\ (7T?_K]/_H)K8K'\2_\ (7T?_K]/_H)K8H ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,>R_Y'>]_P"O
M*+^9K8K'LO\ D=[W_KRB_F:V* "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@#'\#_ /((E_Z_9O\ T*MBL?P/_P @B7_K]F_]"K8H
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,?P/\
M\@B7_K]F_P#0JV*Q_ __ "")?^OV;_T*MB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ K-\8_P#(L7O_ %P-:59OC'_D6+W_ *X&@"YI
MW_(/@_ZXK_(5-4.G?\@^#_KBO\A4U !1110 4444 %%%% !1110 4444 %%%
M% !1110 445Q7QX^-6B? WP,_B:_M'OM0NIEM-"T:WYFU&\?B.% ,GKR3@X
M/4X!Y,=CL)EN#J8K$S4:<$VV^B7YOLEJWHM3.M6IT*3J5':*U9SO[2'QC\2^
M'Y]/^"WP=1+GQWXH4I8 \II=KR)+Z;KM51G;GJPZ-C:>H^"/P<\-_ [P%;^"
MO#[O<2ES/JFIS\S:A=OS)/(3DDL>F2<  9XKG?V;_@IK?@>'4/BA\4[I+_QY
MXJ83Z[>#E;2/@I90]=L<8P..I7J0JX]1KY[),#B\;BWG.8P<:LE:E3?_ "YI
MO6S_ .GD[)U'TM&"=HWEPX2C4JU/K5=6D](K^6/_ ,D]Y?)=-2L?Q+_R%]'_
M .OT_P#H)K8K'\2_\A?1_P#K]/\ Z":^L/2-BBBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ KPO]K#_DMGP/\ ^Q[E_P#29J]TKPO]K#_DMGP/_P"Q[E_])FH ]THHHH *
M*** "BBB@ HHHH **** ,?Q+_P A?1_^OT_^@FMBL?Q+_P A?1_^OT_^@FMB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH Q[+_D
M=[W_ *\HOYFMBL>R_P"1WO?^O*+^9K8H **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** ,?P/\ \@B7_K]F_P#0JV*Q_ __ "")?^OV
M;_T*MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M Q_ _P#R")?^OV;_ -"K8K'\#_\ ((E_Z_9O_0JV* "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "LWQC_ ,BQ>_\ 7 UI5F^,?^18O?\
MK@: +FG?\@^#_KBO\A4U0Z=_R#X/^N*_R%34 %%%% !1110 4444 %%%% !1
M110 4444 %%%([I&ADD8*JC+,3@ 4 9OC+QCX;^'_A:^\:>+M4CLM-TVW::[
MN93PJCL!U))P !R20!R:\?\ @3X/\1_&_P =K^U9\6=,DMHC$T?P]\/7(XTV
MR;_E[=>GGRC!SV4CDC;MSHQ+^VK\4/.<%OA5X0U#]V/X/$VI1GK_ +5M&?P8
M^N?D^@U544(B@ #  ' %?$X;_C+<PCC)?[E1E>FNE:I%_P 5]Z<'I2Z2E>IL
MJ;/)I_\ "E755_PH/W?[TE]K_"OL]W[W2(M%%%?;'K!6/XE_Y"^C_P#7Z?\
MT$UL5C^)?^0OH_\ U^G_ -!- &Q1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5X7^UA_R
M6SX'_P#8]R_^DS5[I7A?[6'_ "6SX'_]CW+_ .DS4 >Z4444 %%%% !1110
M4444 %%%% &/XE_Y"^C_ /7Z?_036Q6/XE_Y"^C_ /7Z?_036Q0 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8]E_P CO>_]>47\
MS6Q6/9?\CO>_]>47\S6Q0 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 8_@?_ )!$O_7[-_Z%6Q6/X'_Y!$O_ %^S?^A5L4 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &/X'_P"01+_U
M^S?^A5L5C^!_^01+_P!?LW_H5;% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !6;XQ_Y%B]_ZX&M*LWQC_P BQ>_]<#0!<T[_ )!\'_7%
M?Y"IJAT[_D'P?]<5_D*FH **** "BBB@ HHHH **** "BBB@ HHHH *\+^.7
MBWQ#\=_'TG[*GPJU26VM8XUD^(GB*V;_ (\+1O\ ESC;IYTHX([+D'(W[>A_
M:0^-&O>#DL/A/\)[=+WQYXI)BT6V."MC%R)+V;KMC0 D9')'0A6%=!\"O@OH
M/P-\"1>%-+N7O+V>5KK6]7N.9M1O'YDF<G)Y/ !)P !DG)/QF:U:O$6/EDV&
MDU1A;ZQ-::-75"+7VIIWJ-:PINVDIQ:\O$RECJSPM-^ZOC?_ +8O-_:[1\VK
M=%X0\)>'O ?ABQ\'>$]+CLM.TZW6"TMHAPB#]23U)/)))/)K1HHKZ^E2IT*4
M:=.*C&*226B26B271(].,8PBHQ5D@HHHK085C^)?^0OH_P#U^G_T$UL5C^)?
M^0OH_P#U^G_T$T ;%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7A?[6'_);/@?\ ]CW+
M_P"DS5[I7A?[6'_);/@?_P!CW+_Z3-0![I1110 4444 %%%% !1110 4444
M8_B7_D+Z/_U^G_T$UL5C^)?^0OH__7Z?_036Q0 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 8]E_R.][_P!>47\S6Q6/9?\ ([WO
M_7E%_,UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% &/X'_ .01+_U^S?\ H5;%8_@?_D$2_P#7[-_Z%6Q0 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?\ Y!$O_7[-_P"A5L5C
M^!_^01+_ -?LW_H5;% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !6;XQ_P"18O?^N!K2K-\8_P#(L7O_ %P- %S3O^0?!_UQ7^0J:H=.
M_P"0?!_UQ7^0J:@ HHHH **** "BBB@ HHHH **** "N/^./QE\/? WP%/XQ
MUN%[JX>1;?2-*M^9M0NWXC@C R22>I . "<'&*Z'Q3XHT#P3X<O?%OBG4XK+
M3M/MVGO+J8X6-%&2?<]@!R20!R:\7^"7A?7_ -H/X@Q?M4?%#2Y;;3;96C^'
M'AZZ7_CTMSUOY%Z>=)C*^BX(SA"/FL^S3%4JD,MR^SQ59.S:NJ<%I*K)=HWM
M&/VYM1VYFN#&8BI&2H4/XDO_ "5=9/TZ+J].[70_LW_!GQ%X8?4/C'\7I4N_
M'GBD"35)!RFFV_!CL8>NU$ 7=@\L.IV@GU:BBO4RG*\+DV!CA</>RNVV[RE)
MN\I2?64FVY/JV=&&P]/"T53ALOO;ZM]VWJPHHHKT3<**** "L?Q+_P A?1_^
MOT_^@FMBL?Q+_P A?1_^OT_^@F@#8HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBOB[PK^W'^UC-_P6]E_X)X_$GPGX)TS
MP(?V?[CQ[H\NA7%S>7]U(=7BL(S<3S)$J8\NX/E)%@;US(^!@ ^T:**^3_C7
M^V5\3_B)_P %"M,_X)G?LL^(-+T/6M,\ 2>-?BEXZU+2OMYT/3VGCM[.PM+<
MND;7MQ)()"\NY(H%W!)&<; #ZPHKY4_9'_;YU77?C1\</V//VK=3T:Q\>? ,
MVNHZMXETZV:TL-?\-7=K]KM=62%WD,#I'F.YC#NB2IN4A9 B>0^ _P!OO]N#
M]H']@WQ3_P %9_@RGAFS\#Z5'K&N>"/@]JGAYVN_$/AC2YYDFEN[\3;[;4+F
M.VN)8%BC,,685=)\LU 'Z$T5\:_M)?\ !6OPCH?[)/P3^,?[*VF6/B+Q=^TQ
MK^BZ#\'M*UXLMO#=:AM,EUJ"Q,'$-DA8SHC!BZK&&7=O6]=_M<?&O]D']M[X
M6_LB?M8^/])\9:!\<M.U*+P)XYL/#HTF?3O$%@D<LVFW4*2R1O!<0RJUO(-L
MBR(T3^;N$B@'UY1110 5X7^UA_R6SX'_ /8]R_\ I,U>Z5X7^UA_R6SX'_\
M8]R_^DS4 >Z4444 %%%% !1110 4444 %%%% &/XE_Y"^C_]?I_]!-;%8_B7
M_D+Z/_U^G_T$UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% &/9?\CO>_\ 7E%_,UL5CV7_ ".][_UY1?S-;% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110!C^!_P#D$2_]?LW_ *%6
MQ6/X'_Y!$O\ U^S?^A5L4 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% &/X'_ .01+_U^S?\ H5;%8_@?_D$2_P#7[-_Z%6Q0 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5F^,?\ D6+W_K@:
MTJS?&/\ R+%[_P!<#0!<T[_D'P?]<5_D*FJ'3O\ D'P?]<5_D*FH **** "B
MBB@ HHHH **** "@D 9)P!U-%>'?'OQKXE^,7C@_LH_"'4WMI)H%E\>^(8.1
MI-@W_+NIZ>?*. .RGW8KY&=9O2R;!^U<7.<FHP@OBG-_#%>N[;TC%.3T39S8
MO$QPM+F:NWHDMVWLE^KZ*[>B,R^>;]M3XH-HUL['X5>$-0'VZ52=GB74HSD1
M _Q6\9P2>C'URI7Z"BBCAC6&&-41%"HBC 4#H .U9G@?P3X9^'/A*P\$>#M+
M2STW3;<0VMO'V ZDG^)B<DL>222>36K7/D.45<OISQ&+DIXFLU*I);77PPA?
M54X+2*ZZR?O2DWG@\-*A%SJ.]26LG^27DME]^[84445[YVA1110 4444 %8_
MB7_D+Z/_ -?I_P#036Q6/XE_Y"^C_P#7Z?\ T$T ;%%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 5^>&L_\ *U9I/_9B#?\
MJ7S5^A]?)UU_P3Q^-5U_P58MO^"F[_M,^&0+;X5GX?+X'_X5G<<Z2=2?4/,^
MV?VM_P ?/FN5\SR=FW_EGGF@#ZQK\S/V%['4M+_X.7OVU_\ A*U87>H?#WP7
M<Z \F?WFGKIUG&YC_P!D2J%;_;4]>I]Q_P""J.F?MJKXL^#_ (M_8T_:\M_!
M5_IGBX+J/PQ;PW%?R?$'S;BT00%F8/#;P0_:7GD4;8HI&F8J85-=U\>OV(]=
MU_\ :T\.?M[?LW^-M*\,?$_1?"=SX3UU->TJ2[TOQ1H$LHN%L[I(98I(I8;E
M5FAN$8E?G1T=6&P _-O]M#0?'OC#_@L#^WTOPRCGE>U_X)WZGIEVEKG<=1GM
MK66VC&/^6K0K,$Z'GCU'U3_P3;U?PO8_\&VG@_6(I85TZU_9RU1[U^-BM'9W
M7GYSZ.LF??-?17[(O[#VC_L\>+/B9\;_ (C>*K?QE\3OC-K4&H?$7Q.FD_9+
M6:*VMQ;66FVMLTDIAL[: >6BO)([%W9W.X!?&M,_X)._$WP)^S+XJ_X)U_!_
M]I#3] _9]\67NI(NG-X:EF\1Z#HFHS/-?Z'8WAN1!Y,C37"QW$L#R0Q3LA65
M@LB@'Y?_ +&/ACQMX>\!_P#!'#4OB%#,-(7Q=\00K3$[$GNM3\[3MW3EX3&8
M^O"MCW^Z_P#@O;;:IK/[:?\ P3X\.^&=S:J_[45C>A(_OFRMI;.2\/KM$.=W
M;'6OJS]IW_@F_P#!GX]?LS>"?V>? TQ\"3?"75=&UCX.>(-)M!._A34M)"BP
ME6)V GB5%\J2)F'F1NPW*VUUI^$_V(O'OQ"_:U\)_MI?MB?$#P[XD\3?#?0+
M_2_AGX?\(Z#/8Z7H<E\$2_U)C<7$\L]W-'&D0Y2.&(%0LC'S: /I.BBB@#R_
MXK?LE?#7XQ>+G\:>*-?\46]V\"0F/2?$<UM#M08!V(<9]3WKQ+XN_LM?#SX0
M_'+X/7'AC7/$MPVH^-#%.-5U^:Y"A(2XV!S\IR.2.HXKZ]KPO]K#_DMGP/\
M^Q[E_P#29J /7/\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y
M^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\
M MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\
M"VH_X0?2/^?F]_\  MJV** .4USPKIUKJ.FPQSW)$]R5<M<,2!M[>E:?_"#Z
M1_S\WO\ X%M1XE_Y"^C_ /7Z?_036Q0!C_\ "#Z1_P _-[_X%M1_P@^D?\_-
M[_X%M6Q10!C_ /"#Z1_S\WO_ (%M1_P@^D?\_-[_ .!;5L44 8__  @^D?\
M/S>_^!;4?\(/I'_/S>_^!;5L44 8_P#P@^D?\_-[_P"!;4?\(/I'_/S>_P#@
M6U;%% &/_P (/I'_ #\WO_@6U'_"#Z1_S\WO_@6U;%% &/\ \(/I'_/S>_\
M@6U'_"#Z1_S\WO\ X%M6Q10!C_\ "#Z1_P _-[_X%M1_P@^D?\_-[_X%M6Q1
M0!C_ /"#Z1_S\WO_ (%M1_P@^D?\_-[_ .!;5L44 8__  @^D?\ /S>_^!;4
M?\(/I'_/S>_^!;5L44 8_P#P@^D?\_-[_P"!;4?\(/I'_/S>_P#@6U;%% '*
M6OA73I/%-U8-/<[([:-E(N&W9)/4UI_\(/I'_/S>_P#@6U%E_P CO>_]>47\
MS6Q0!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%
MM1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%%
M &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\
M"#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\
M(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?
M\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/
MI'_/S>_^!;4?\(/I'_/S>_\ @6U;%% '*>%?"NG:AITDTT]R"+F10$N&48#5
MI_\ "#Z1_P _-[_X%M1X'_Y!$O\ U^S?^A5L4 8__"#Z1_S\WO\ X%M1_P (
M/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@
M^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S
M\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\ P@^D
M?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\W
MO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_
M .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M
M6Q10!RGA7PKIVH:=)--/<@BYD4!+AE& U:?_  @^D?\ /S>_^!;4>!_^01+_
M -?LW_H5;% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_
MS\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_
M^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\
MX%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;
M%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U
M'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44
M8_\ P@^D?\_-[_X%M5'Q+X2TRQT&ZNX;BZ+1Q$@/<L1^(KIJS?&/_(L7O_7
MT 5++P7I4MG%*US>9:)2<738Z5+_ ,(/I'_/S>_^!;5I:=_R#X/^N*_R%34
M8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (
M/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@
M^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q7)_&KXP>&/@?X!NO'/B4M+L(BT_3
MX3^^OKEN(X(QR2S'V. ">@KFQF,PN7X6>)Q,U"G!-R;V26[,ZM6G1INI-V2U
M;.$_:.\;?\*]M-/^'GPTCN=2\=^*7-OX>TXW;%8!_'=S?W8HQDY/4CT#$;_P
M3_9M\,_"#P:NC'5;R^U6\D-UKVL/<,)+^[;EY&[XR2 #T'7)))S?V;_@]XGT
MJ]O_ (Z?&8)/XZ\3H#<QCE-'M.L=C%_="C&XCJPY)QN;UJOF\EP>*S+&?VUC
MX.,FFJ--[TJ;ZR72K4T<_P"6-J:VDY<.$I5*]7ZW65GM&+^S'S_O2Z]E9=[X
M_P#P@^D?\_-[_P"!;4?\(/I'_/S>_P#@6U;%%?6GI&/_ ,(/I'_/S>_^!;4?
M\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C
M_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U9FN>%=
M.M=1TV&.>Y(GN2KEKAB0-O;TKJZQ_$O_ "%]'_Z_3_Z": #_ (0?2/\ GYO?
M_ MJ/^$'TC_GYO?_  +:MBB@#'_X0?2/^?F]_P# MJ/^$'TC_GYO?_ MJV**
M ,?_ (0?2/\ GYO?_ MJ/^$'TC_GYO?_  +:MBB@#'_X0?2/^?F]_P# MJ/^
M$'TC_GYO?_ MJV** ,?_ (0?2/\ GYO?_ MJ/^$'TC_GYO?_  +:MBB@#+L_
M"6FV-TEW#<71:-LJ'N6(_$5J444 %%%% !1110 4444 %%%% !1110 4444
M,-M;&Y%X;=#,J%%E*#<%)!*YZX) ./84^BB@ HHHH **** "BBB@ KPO]K#_
M )+9\#_^Q[E_])FKW2O"_P!K#_DMGP/_ .Q[E_\ 29J /=**** "BBB@ HHH
MH **** "BBB@#'\2_P#(7T?_ *_3_P"@FMBL?Q+_ ,A?1_\ K]/_ *":V* "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#'LO^1WO
M?^O*+^9K8K'LO^1WO?\ KRB_F:V* "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@#'\#_\@B7_ *_9O_0JV*Q_ _\ R")?^OV;_P!"
MK8H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,?P
M/_R")?\ K]F_]"K8K'\#_P#((E_Z_9O_ $*MB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ K-\8_\BQ>_P#7 UI5F^,?^18O?^N!H N:
M=_R#X/\ KBO\A4U0Z=_R#X/^N*_R%34 %%%% !1110 4444 4_$/B#1?">A7
M?B;Q'J45G86%NT]W=3MA(HU&2Q/TKQ'X.>'];_:6^(L'[3OQ%TV:V\/Z:S)\
M-_#]TN-J$\ZE*O3S'P-GH ",X5C6\0SS_MG_ !/D\#:7._\ PK#PCJ _M^\B
M;"^(=00AA:HP^]!&<%B."<8ZHP^@+>W@M($M;6!(HHD"1QQJ%5% P  .@ [5
M\32_XR[,56>N"H2]WM6JQ?Q^=.E)>YTG47/M"+EY,?\ A2K\_P#RZ@]/[\EU
M_P ,7MWEKLE=]%%%?;'K!1110 4444 %%%% !1110 5C^)?^0OH__7Z?_036
MQ6/XE_Y"^C_]?I_]!- &Q1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5X7^UA_P EL^!_
M_8]R_P#I,U>Z5X7^UA_R6SX'_P#8]R_^DS4 >Z4444 %%%% !1110 4444 %
M%%% &/XE_P"0OH__ %^G_P!!-;%8_B7_ )"^C_\ 7Z?_ $$UL4 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &/9?\CO>_P#7E%_,
MUL5CV7_([WO_ %Y1?S-;% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110!C^!_^01+_P!?LW_H5;%8_@?_ )!$O_7[-_Z%6Q0 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?_D$2_\
M7[-_Z%6Q6/X'_P"01+_U^S?^A5L4 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %9OC'_D6+W_ *X&M*LWQC_R+%[_ -<#0!<T[_D'P?\
M7%?Y"IJAT[_D'P?]<5_D*FH **** "BBB@ KQ+]H+Q]XI^)?C%/V5/@SJ;6^
MIWT E\9:_",C1-.;JH(_Y;R@X5>H#9XSN7H_VCOC=?\ PPTBR\(^ M.75/&_
MB:4VGAC20,_/_%<2_P!V*,?,2>#C' W$7OV??@A8?!+P<]C<Z@VIZ_JLYO?$
MVNS<RW]XW+,2>=@)(5>PYZDD_'9O7K9]CI9+A).,%;ZQ-.SC%ZJE%K:I47Q-
M:PIN^DI09Y>)G+&5GA*;LE\;71?RKSEU[1UW:.C^'W@'PM\+_!NG^ _!>F+:
M:;IL BMXEZGN78_Q,Q)8GN236S117UE"A1PM&-&C%1A%)))622T22Z)+8]*$
M(4X*,59+1(****U*"BBB@ HHHH **** "BBB@ K'\2_\A?1_^OT_^@FMBL?Q
M+_R%]'_Z_3_Z": -BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** /)_VU_VNO!/[$/[/6J_'SQIX6USQ$]M=6NGZ#X5\+V)N=3U[5+N9+>TL
M+6(<O++*ZK[#<W.W%>>? ;]N3]H#XR?L(#]K[7/V+K[PUXHT^^U@>)?A+J?B
MG;J=E;:==W4$J0RO:HDUXR6ZND$@@0M)L,R8WGU3]J/X,>)/C3\-[:R\ :_I
M^E>+/#FOV7B'P?J&KVC7%G'J5I+YD<=S&C*S02J9()"A#JDS.A#JIKX$^+N@
M?\'#'Q*^%OBS]D;X2?LI_"+X96_C?6]:;6_C%-\6&U:*RM-2NII9S96JVD5Q
M'($F9$D>)V'4*C8*@'Z'?LZ?M ?"W]JKX&>%OVB_@IX@_M3PKXQT:'4M%O3&
M49HI!]UT/*2(P9'0\JRL#TKM*\8_X)V_LR?#[]C;]B#X9?LU?"WQJ/$NA>%_
M"L$5EXC1E*:L9<W$EXFUF41RR2O(JAF 5U 9L9/L] !1110 4444 %%%% !1
M110 4444 %>%_M8?\EL^!_\ V/<O_I,U>Z5X7^UA_P EL^!__8]R_P#I,U '
MNE%%% !1110 4444 %%%% !1110!C^)?^0OH_P#U^G_T$UL5C^)?^0OH_P#U
M^G_T$UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% &/9?\ ([WO_7E%_,UL5CV7_([WO_7E%_,UL4 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% &/X'_P"01+_U^S?^A5L5C^!_^01+
M_P!?LW_H5;% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110!C^!_\ D$2_]?LW_H5;%8_@?_D$2_\ 7[-_Z%6Q0 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 5F^,?^18O?^N!K2K-\8_\ (L7O
M_7 T 7-._P"0?!_UQ7^0J:H=._Y!\'_7%?Y"IJ "BBB@ KF/C#\6O"GP3\ W
MOC_Q=.1!;*%M[:/F6[G;A((QW=CQ[#)/ )K>UG6=*\.Z1<Z]KNH16EE90/-=
MW4[A4BC4$LS$]  ":\+^%6C:K^U1\2K?]HSQSI\L'A#1)F7X=Z'=*1]H<'#:
MG*A_B)'[L'I@'L&;YS/LUQ.&<,!@+/%5K\M]5"*MS59_W875EISR<8*UVUPX
MS$U(-4:.M26W9+K)^2_%V74W_P!G+X2^*CJ][^T/\;+=6\:^(X0L5DPRFA6'
M6.SC!Z-C!<]2>.NXMZ]117H91E6&R; QPU&[W<I/64Y/64Y/K*3U?W*R21MA
ML-3PM%4X^K;W;>[?FPHHHKTSH"BBB@ HHHH **** "BBB@ HHHH *Q_$O_(7
MT?\ Z_3_ .@FMBL?Q+_R%]'_ .OT_P#H)H V**** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHJEXD\0:5X2\.W_BK79I(['3+*6[O)(;=YG6*-"[
ME8XU9W(4'"J"QZ $G% 'D'_!0+]G_3OVG/V<[CX1:]^T)KWPOTJ\U[3)]8\7
M>&/$O]D:A#:PW22R0P7?2)I0HBR01ASP:^(/B;_P1H_8/_X5WKAC_P""R/QZ
MTMUTN=HM2U[]IE9[*U<(2LEQ&=@>)6P67>A*@@,IY$_[9'_!:7_@W5_;J^#!
M_9\_:!_;4L-4\(76NZ?J.LZ/_P (=XCC74%M+A;A(&>*S1U5G1,E6!P".]?/
M5CXS_P"#(K3;N._M[/P4SQ-N59]!\92H2/5'B*L/8@B@#],/^"-?BGX9>,O^
M"7?P4UOX-G7U\,KX+BM=(@\3:D+V[MH[>22 P&<11>=%&T;1Q/Y:%HDC)4'(
MKZ9KRG]AWXL_!'XY?LG^"?BA^S5X4M=$^'NI:4R^"-,L=/%I#%I44TD%L4@"
M)Y"M%&CB+:"@;:>17JU !1110 4444 %%%% !1110 4444 %>%_M8?\ );/@
M?_V/<O\ Z3-7NE>%_M8?\EL^!_\ V/<O_I,U 'NE%%% !1110 4444 %%%%
M!1110!C^)?\ D+Z/_P!?I_\ 036Q6/XE_P"0OH__ %^G_P!!-;% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!CV7_([WO\ UY1?
MS-;%8]E_R.][_P!>47\S6Q0 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 8_@?_D$2_\ 7[-_Z%6Q6/X'_P"01+_U^S?^A5L4 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &/X'_Y!$O_
M %^S?^A5L5C^!_\ D$2_]?LW_H5;% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !6;XQ_Y%B]_P"N!K2K-\8_\BQ>_P#7 T 7-._Y!\'_
M %Q7^0J:H=._Y!\'_7%?Y"IJ "BBO%_VA_B1XL\8^*H/V7?@EJ)A\0ZM!YOB
M36XN1H&FG&Z0D=)G!PB\'Y@>,JU>5G.;4,FP+KU$Y2;4807Q3F](PCYM_)*\
MFU%-KGQ6)AA:7.U=[)+=M[)>OX;O0QO&5[=_MC?$Z;X4>'KJ1?AQX5OE/B_4
MH)"JZW>H0RV$;#K&AP7([XQCY&/OME9VFG6<6GZ?:QP001+'!#$@5(T48"J!
MP    *Q?AG\-_"?PD\$:?\/_  5IXMM/TZ$)&#R\C=6D<_Q.S98GU/X5O5QY
M#E-?!*>+QK4L56LZC6T4OAIPO]B%VE_,W*;UDS+!X:=).K5=ZDMWT7:*\E^+
MN]V%%%%?0G:%%%% !1110 4444 %%%% !1110 4444 %8_B7_D+Z/_U^G_T$
MUL5C^)?^0OH__7Z?_030!L4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110!\]?M Z_P#L5?\ !-3]E/\ X3WQ'\$;6+PIX7CLM)T+PSX4\)IJ
M&HW]Q-*EO:V-G!C=//)(ZJH+#NS, "P^./$/_!?[]F2#PQXCU+2?^"-/[65K
M+X>@G74[[4/V;[)K72)TMUGS>!=14QJL<D<K*S(?+<-D!@U?<G[6'P\^(7[2
M7[/FF>*?V3/B'X6M?&.E:EI_BOX:ZYXBMI+W0[NYB^>-;I8")'M9X)9(S)$=
MZ"42)ED /@'Q@^&O_!9?X<>$+#XW_LU:!\"/$'Q-\<>&;:R^,_@;4KC48/#R
MZS!&T4&L:7)(PE;]P8[>>*X/[R.VMMI!C.X ^@O^">OB2]\:?L6_#SQMJO[/
M%U\)[[7-!&I:E\.KN"2)M#NKB1YIX%CD :*,RN[I&578CJNU,;1[+7C7_!/+
MX!_%/]EK]B+X8_L\?&WQY;^)?%7A#PE;:;K.KV18P/(@.(H2X5C%$I6%"54E
M(E.U?NCV6@ HHHH **** "BBB@ HHHH **** "O"_P!K#_DMGP/_ .Q[E_\
M29J]TKPO]K#_ )+9\#_^Q[E_])FH ]THHHH **** "BBB@ HHHH **** ,?Q
M+_R%]'_Z_3_Z":V*Q_$O_(7T?_K]/_H)K8H **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** ,>R_P"1WO?^O*+^9K8K'LO^1WO?^O*+
M^9K8H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,
M?P/_ ,@B7_K]F_\ 0JV*Q_ __((E_P"OV;_T*MB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH Q_ _\ R")?^OV;_P!"K8K'\#_\
M@B7_ *_9O_0JV* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "LWQC_P BQ>_]<#6E6;XQ_P"18O?^N!H N:=_R#X/^N*_R%35#IW_ "#X
M/^N*_P A6%\5_BCX3^#7@._^(/C.\,5G8QY6-.9+B0\)%&/XG8\ ?B< $UAB
ML3A\%AIXBO)1A!.4F]$DE=MOLD14J0I4W.;LEJV<[^T7\;YOA)X>M=&\):8-
M5\8>(I_L?A715Y,\YZRN.T48.YB<#H,C.1)^SQ\#XO@SX5GDUK4CJOBC7)_M
MOBG79.7O+ILD@''$:9(5>!C)P"37._LZ?"[Q9K'B&[_:7^-MEM\6:]!Y>EZ6
M^2N@:<>4MD!Z2,#ESP<DC@E\^QU\ODV%Q&<8Y9WC8N.C5"F]Z<'O.2Z5:BWZ
MPA:&C<[^?A:<\55^MU5;^1/HGU?]Z7X+3>]RBBBOKSTPHHHH **** "BBB@
MHHHH **** "BBB@ HHHH *Q_$O\ R%]'_P"OT_\ H)K8K'\2_P#(7T?_ *_3
M_P"@F@#8HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#X^^!
MW_!,CXO?L:?"S1O"?[&G[;_BS3+K3+13J'ASXBV@\1>&-3N3\\SI:/)'=Z:K
MR%R$L[N.- Y)CD(R7_$K_@JE:?L02Z7I7_!4KX;V'PNM=6O!9:3\1/#/B)-;
M\-ZC/V7;LBU&U8\%A):-#'GFX8 M7R3\&OVJO^#C7_@IU\,M&T7X#_"3P1^S
MQX/ELUM]3^.'C%/MNI^(%0;&OM,T]HPL2S#]ZNZ'RSO'EW"@9KV[]F;_ (-R
M?V,/AYX[3X^_MG>*?$_[3?Q3EVO>>,/C'?M?6JN#G$.GNSQ"('E4G,^S^$@<
M4 ?=/PS^*'PW^-'@/3/BE\(?'NC^)_#6M6_GZ1KV@:C'=VEY'DKNCEB)5P&#
M*<'@J0>016[4&EZ5IFAZ;;Z-HFFP6=G:0K#:VEK"L<4,:C"HBJ %4    8 %
M3T %%%% !117R7^V+_P5DT+]E/X[_P##/'@S]B3X]_&C7;70;?5->F^#/@,:
MQ:Z(L[RK!!=RF:,13NL1D$9YV,C=&% 'UI17RE^P=_P55T7]NGXU^,?@*O[&
MOQJ^%>N^!]!LM5UR'XL>&+;3"L5Y)(EL@C2YDDW2"&=E)0*5A?G@ X7[5G_!
M9#1/V;OCIK/P,\ ?\$_/VE/C3+X<$$/B#Q)\&?A@^LZ5I]_)"DYT^2X$JC[2
MD,MO(Z ':+A,G.0 #[*HKQKXX?MN?#3]FS]F'1OVE_C?X4\1Z&VOKI=KI'@-
MK**77[S6=0V+;:+%;I(4DOFE?RR@DV*4=F<(C.,SX8?MPVVK_M"V'[)_Q_\
MA#JGPS\?Z_X=FU[P?IFJZM:7UKXALH&"W26MU;.5:ZMMR&:W8!E219$,J;G4
M ]XHHHH *\+_ &L/^2V? _\ ['N7_P!)FKW2O"_VL/\ DMGP/_['N7_TF:@#
MW2BBB@ HHHH **** "BBB@ HHHH Q_$O_(7T?_K]/_H)K8K'\2_\A?1_^OT_
M^@FMB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M1WO?^O*+^9K8H Q_^$EU?_H4+W_OI:/^$EU?_H4+W_OI:V** ,?_ (275_\
MH4+W_OI:/^$EU?\ Z%"]_P"^EK8HH Q_^$EU?_H4+W_OI:/^$EU?_H4+W_OI
M:V** ,?_ (275_\ H4+W_OI:/^$EU?\ Z%"]_P"^EK8HH Q_^$EU?_H4+W_O
MI:/^$EU?_H4+W_OI:V** ,?_ (275_\ H4+W_OI:/^$EU?\ Z%"]_P"^EK8H
MH Q_^$EU?_H4+W_OI:/^$EU?_H4+W_OI:V** ,?_ (275_\ H4+W_OI:/^$E
MU?\ Z%"]_P"^EK8HH Q_^$EU?_H4+W_OI:/^$EU?_H4+W_OI:V** ,?_ (27
M5_\ H4+W_OI:/^$EU?\ Z%"]_P"^EK8HH Y3PKKFHVNG21P^&[F<&YD8NC+@
M$MT_"M/_ (275_\ H4+W_OI:/ __ "")?^OV;_T*MB@#'_X275_^A0O?^^EH
M_P"$EU?_ *%"]_[Z6MBB@#'_ .$EU?\ Z%"]_P"^EH_X275_^A0O?^^EK8HH
M Q_^$EU?_H4+W_OI:/\ A)=7_P"A0O?^^EK8HH Q_P#A)=7_ .A0O?\ OI:/
M^$EU?_H4+W_OI:V** ,?_A)=7_Z%"]_[Z6C_ (275_\ H4+W_OI:V** ,?\
MX275_P#H4+W_ +Z6C_A)=7_Z%"]_[Z6MBB@#'_X275_^A0O?^^EH_P"$EU?_
M *%"]_[Z6MBB@#'_ .$EU?\ Z%"]_P"^EH_X275_^A0O?^^EK8HH Q_^$EU?
M_H4+W_OI:/\ A)=7_P"A0O?^^EK8HH Q_P#A)=7_ .A0O?\ OI:/^$EU?_H4
M+W_OI:V** .4\*ZYJ-KITD</ANYG!N9&+HRX!+=/PK3_ .$EU?\ Z%"]_P"^
MEH\#_P#((E_Z_9O_ $*MB@#'_P"$EU?_ *%"]_[Z6C_A)=7_ .A0O?\ OI:V
M** ,?_A)=7_Z%"]_[Z6C_A)=7_Z%"]_[Z6MBB@#'_P"$EU?_ *%"]_[Z6C_A
M)=7_ .A0O?\ OI:V** ,?_A)=7_Z%"]_[Z6C_A)=7_Z%"]_[Z6MBB@#'_P"$
MEU?_ *%"]_[Z6C_A)=7_ .A0O?\ OI:V** ,?_A)=7_Z%"]_[Z6C_A)=7_Z%
M"]_[Z6MBB@#'_P"$EU?_ *%"]_[Z6C_A)=7_ .A0O?\ OI:V** ,?_A)=7_Z
M%"]_[Z6C_A)=7_Z%"]_[Z6MBB@#'_P"$EU?_ *%"]_[Z6C_A)=7_ .A0O?\
MOI:V*9<7$%K ]U=3)'%&A>221@%50,DDGH .])M)78'YH_\ !1;2=8L_VI=7
MUO5=-FM4U>PL[FT2;O&L"0$C';?"]>&5]T_M">#]2_X*"Z^MC\&-%LX=&\)+
M<1KXXU+>D>I7) _T2W"_?B#*"9"" >1@$>9\?_$CX)_%?X1ZG)I7Q$\!ZCIC
MQL5$\UN3!)[I*N4<>ZDU_GYXF\.8RAQ)B\WPD)5,'7JSE&JHOD;D^::4K6LI
M-J,OADE>+>I^+Y_@:L<=5Q--.5*<FU*VEWJ]?6Z3V?0Y:O>?^"<&E:Q=?M.V
M&N:7IL]S'I.F7=Q=I#QA&B,(SG_:E7\O:O,?AI\#OBS\7]4CTKX=^ ]1U)I&
M -Q';E8(_=Y6PB#ZD5^C/['?[*NE_LQ^!9;6]NXKWQ#JQ236;^('8-N=D,>>
M=BY/)P6))(' 'J>#O V<Y[Q7ALQ=*4<-0FJCFTTFXN\8Q;^)N25[;*[?1/HX
M8RC%8S,:=?E:IP:DWTNM4EWU_ ](_P"$EU?_ *%"]_[Z6C_A)=7_ .A0O?\
MOI:V**_O _8#'_X275_^A0O?^^EH_P"$EU?_ *%"]_[Z6MBB@#'_ .$EU?\
MZ%"]_P"^EH_X275_^A0O?^^EK8HH Q_^$EU?_H4+W_OI:/\ A)=7_P"A0O?^
M^EK8HH Q_P#A)=7_ .A0O?\ OI:/^$EU?_H4+W_OI:V** ,?_A)=7_Z%"]_[
MZ6C_ (275_\ H4+W_OI:V** ,?\ X275_P#H4+W_ +Z6C_A)=7_Z%"]_[Z6M
MBB@#'_X275_^A0O?^^EH_P"$EU?_ *%"]_[Z6MBB@#'_ .$EU?\ Z%"]_P"^
MEH_X275_^A0O?^^EK8HH Q_^$EU?_H4+W_OI:S-<US49]1TV23PW<QF.Y+(C
M,N9#MZ"NKK'\2_\ (7T?_K]/_H)H /\ A)=7_P"A0O?^^EH_X275_P#H4+W_
M +Z6MBB@#'_X275_^A0O?^^EH_X275_^A0O?^^EK8HH Q_\ A)=7_P"A0O?^
M^EH_X275_P#H4+W_ +Z6MBB@#'_X275_^A0O?^^EH_X275_^A0O?^^EK8HH
MQ_\ A)=7_P"A0O?^^EH_X275_P#H4+W_ +Z6MBB@#+L]>U*YND@F\,W4*LV&
ME=EPON:U*** "BBB@ HHHH **** /F7_ (*\_!/]ESX[_L->(?#'[;'Q*B\*
M?"?2]8TK6_'>JR7#Q>98V=]#.;97CS(&G=$A'E@R$RXC&\K7GOPJ\<?\$L_C
M;_P3&\*_&;X#?#34=#^!F@WEW)X3U[P9X9NM.U#P@]G/<6TVM0?9U^V6I22*
M4R7*AG9)':<&)IC7M'_!0CX%77QW^!NG6MK\++?QZ?"7C;1_%,O@&[EA2/Q'
M'872RO9CSR(6D*[I(DF*Q/-%$LC(C,Z_"OQ"_P""L'Q.\)? +QU^RO\ LG?\
M$P?VAM?^*_BWQ!XDA\-Z)K?PCN=+TC2$U&]N6@N+RXEQ&L4<<P<A,QMMP9$4
M^8 #]$_V/? MQ\./V:_"GA:?XW3_ !*5;*2ZM_'UU<I/)K\%Q/)<17C21_)(
MTD<J,63Y"3E0%(%>EU\^?\$IOV7/B)^Q7_P3L^$O[+WQ:UR'4/$OA#PI';:W
M-;3F6**X>229K>-S]](?-\E6X!6($ # KZ#H **** "BBB@ HHHH **** "B
MBB@ KPO]K#_DMGP/_P"Q[E_])FKW2O"_VL/^2V? _P#['N7_ -)FH ]THHHH
M **** "BBB@ HHHH **** ,?Q+_R%]'_ .OT_P#H)K8K'\2_\A?1_P#K]/\
MZ":V* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#
M'LO^1WO?^O*+^9K8K'LO^1WO?^O*+^9K8H **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** ,?P/_P @B7_K]F_]"K8K'\#_ /((E_Z_
M9O\ T*MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH Q_ __ "")?^OV;_T*MBL?P/\ \@B7_K]F_P#0JV* "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHK,\9>,_"_P /O#5WXP\9ZW!I^FV,1DN;JX;"
MJ/0=V)/ 49))  )-9U:M*A2E5JR48Q3;;=DDMVV]$EU9,I1A%RD[)%K6-8TG
MP]I5QKNNZE!9V5I"TMU=7,H2.)%&2S,>  .]>!2W/C+]N'4VM-/DOM!^$=O,
M5GN0&AN_%3*W*KT,=KD<GJV,=>(W:1X8\:?MIZO;^,?B1IUWH?PPMIA-H?A>
M8F.XU\J<I<W>#E8>ZQ]^O3#-] 6=E9Z=9Q:?I]I%!;P1K'!!#&%2-%& JJ.
M !@ =*^*4<1QH[S3AE_1:J6(\WLXT'VTE56]J>D_*M/-=[JC]SGZ]H>6\O\
M#O7\/>'M#\)Z':^&O#.DP6-A90B*TM+:,*D2#H !4/C'_D6+W_K@:TJS?&/_
M "+%[_UP-?;0A"E!0@DDE9):));)+L>LDHJRV+FG?\@^#_KBO\A4U0Z=_P @
M^#_KBO\ (5-5C"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "L?Q+_R%]'_ .OT_P#H)K8K'\2_\A?1_P#K]/\ Z": -BBBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH *I>)=/U;5O#FH:5H&O2:5?7-E+%9:I%;
MI*UG,R$),$D!1RC$,%8%3C!!%7:* /R8^(?P=_X.8?AQ\(_"/B76/^"L7@<^
M-?%_B'3=$M?!_P#PI?1A;6EW=.?,\Z^\@_NX84FE9DA8MY6Q%8LM>G7W[#G_
M  <7/HLQM/\ @N'X*-\;5O*A/[/6D)'YNWA?,V$JN[C=L) YVGI7VM^U3\%_
MA=\??@5KGP\^,'B.\T+1C'%?#Q-IFL?V=>:#<VLBW%OJ-O=_\NTUO+&DJR'Y
M04PP92RG\JOC#X/_ &B?BU]K^!OCS_@[D^$\?PRO-]KJB6-OX5T[Q'-8L,-;
M/=VMS$_F%,H90Z[MQ9D;[E 'Z&_\$D/&VM?$'_@FO\&_$7B/XGCQEJ">"[>Q
MO?$GV+R'NY;5GM6$BB20-*AA,;R*[+(\;.IPPKZ+KQO_ ()]>%?V:/ ?[&?@
M#P+^QU?+>?#/0]&;3O".I)<K.-0MX)I(FO!*ORS>?(DDWF# ?S=P #8'LE !
M1110 4444 %%%% !1110 4444 %>%_M8?\EL^!__ &/<O_I,U>Z5X7^UA_R6
MSX'_ /8]R_\ I,U 'NE%%% !1110 4444 %%%% !1110!C^)?^0OH_\ U^G_
M -!-;%8_B7_D+Z/_ -?I_P#036Q0 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 8]E_R.][_UY1?S-;%8]E_R.][_ ->47\S6Q0 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?_D$2
M_P#7[-_Z%6Q6/X'_ .01+_U^S?\ H5;% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110!C^!_^01+_ -?LW_H5;%8_@?\ Y!$O_7[-
M_P"A5L4 %%%% !1110 4444 %%%% !1110 4444 %%%<A\:/C;X*^!OA7_A)
M/%MQ)+-<2"'2M*LTWW6H7!X6*)!RQ)(R>@SSVKEQN-PF786>)Q,U"G!7<F[)
M+^OO>B,ZM6G0INI4=HK=LO?%#XI>"/@YX.N?'/C_ %I+*QMA@9YDGD.=L4:]
M7<XX ]"3@ D>3>#?A=XX_::\36?Q?_:)TB33_#ME-Y_A+X?3'Y5_NW5\/XY"
M.1&>%!P1RP:]\+_@GXU^)GC&V^/O[35O&VIP-YGA;P<K[[704."'<=);DX!+
M'[I'J%">V5\I2P6+XJJQQ.80<,(FG"C)6=1K53K+MUA1>VDJEY6C#S8TJF8R
M52NK4UM![OSG^D?G+71(JJJA54  8  Z4M%%?:GK!6;XQ_Y%B]_ZX&M*LWQC
M_P BQ>_]<#0!<T[_ )!\'_7%?Y"IJAT[_D'P?]<5_D*FH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH *Q_$O_ "%]'_Z_3_Z":V*Q_$O_
M "%]'_Z_3_Z": -BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** /BS_@OUI'P+U/_@G'J][^TMX[?1O ND^-O#>I^)K(Q7AA\06=OJMO++H\
MKV:-)"+M%:%)3M1)GA+,H&1\>:?^UY_P9C+I<+#P;\%XU\A3Y=Q\$]5>51CH
MQ.G$EAWY)SW-=+K'_!T7_P $H_C!\'H/AA^U)\*?B+J-Y(EJOBW1K?P#]HL&
MU*TGCE8PL+D[XENH \9)SA5W '(K<3_@ZC_X(VVU@;"+X7_$E+;8P,"_"N,)
MM.<C'FXP<G/UH ^W_P#@F?J_[/VO_L/^!-<_91TFXL?AI>6U[-X$M+H,K1:4
MU_<&W 5E5D3RRNU'&]%VJQ9@6/NU>%?\$TOBYX ^/O[$G@CXX?"GP+%X9\,^
M+H[_ %?P_H$,7EBQL[C4+F6&,H'=4?8REE0^6K$A J!5'NM !1110 4444 %
M%%% !1110 4444 %>%_M8?\ );/@?_V/<O\ Z3-7NE>%_M8?\EL^!_\ V/<O
M_I,U 'NE%%% !1110 4444 %%%% !1110!C^)?\ D+Z/_P!?I_\ 036Q6/XE
M_P"0OH__ %^G_P!!-;% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110!CV7_([WO\ UY1?S-;%8]E_R.][_P!>47\S6Q0 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?_D$2_\ 7[-_
MZ%6Q6/X'_P"01+_U^S?^A5L4 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% &/X'_Y!$O_ %^S?^A5L5C^!_\ D$2_]?LW_H5;% !1
M110 4444 %%%% !1110 4444 %%%>9_'?]H6+X:75K\/? 6AGQ%XZUI2-%\/
M0-]P<_Z1<$?ZN%<$DDC=@@$ %EX,SS/!91@Y8G%2Y8JRZMMO11BEK*4GI&*3
M;>B1CB,12PU)U*CLOZLDNK?1+<O?'7X_>'/@II=M:_8)M8\1ZL_D^'O#-A\U
MS?S'@<#.R,'[SD8';)P*Y_X+_ 'Q&?%1^/'[0E_#J_C>YCQ96L?-GX?A/2WM
MEY&X X:3DDYP3EF>]\"OV>I? >J7/Q2^*&N#Q%X]U>/_ (F6M2+^[M$/_+M:
MJ?\ 5Q+TX +8Y &%'J%?/8++,;G6*AF.;QY8Q=Z5#1J#Z3J6NI5>RUC2VC>5
MYOBI8>KBZBKXE62UC#MYR[R_"/2[U"BBBOL#TPHHHH *S?&/_(L7O_7 UI5F
M^,?^18O?^N!H N:=_P @^#_KBO\ (5-4.G?\@^#_ *XK_(5-0 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 5C^)?^0OH__7Z?_036Q6/X
ME_Y"^C_]?I_]!- &Q1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% &3X!\#^&/AEX'T?X<^"M,2RT?0=,@T_2[1#D0V\,:QQKD\G"J.3R:UJ*
M* ,?P'X!\*?#/PVGA#P3I*6&FQW=U<PVD7W(GN+B2XD"C^%?,E<A1PH(
MK8HHH **** "BBB@ HHHH **** "BBB@ KPO]K#_ )+9\#_^Q[E_])FKW2O"
M_P!K#_DMGP/_ .Q[E_\ 29J /=**** "BBB@ HHHH **** "BBB@#'\2_P#(
M7T?_ *_3_P"@FMBL?Q+_ ,A?1_\ K]/_ *":V* "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@#'LO^1WO?^O*+^9K8K'LO^1WO?\
MKRB_F:V* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@#'\#_\@B7_ *_9O_0JV*Q_ _\ R")?^OV;_P!"K8H **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** ,?P/_R")?\ K]F_]"K8K'\#
M_P#((E_Z_9O_ $*MB@ HHHH **** "BBB@ HHHH ***\7^+'QS\8^-/&4_[/
M_P"S08;CQ"@V^(O$TB[[/P[&>"2>DEQUVQ]B.>A \K-\XP>3895:UW*3Y80B
MKSG)[1@NK?R25Y2:BFUS8G%4L+#FGJWHDMV^R7]6W=D7OC;^T#K6F>)4^!_P
M(TJ+7/'E]%N=6.;71(3C_2;IAPN 053J<CCE0VQ\"/V?M$^#EK=:YJ6J2Z[X
MLUDB3Q#XGOAF>[DZ[%S_ *N(<!4'& ,YP,7O@E\#/!WP,\,OHWA[SKN_O9//
MUK7+YM]UJ5P<EI97//4G"YP,GJ22>TKRLLR?%XG&1S3-[.LOX=-.\*"?2/\
M-4:TG4MWC#EC?FY\/A:M2JL1B?CZ1Z0].\N\ODK+<HHHKZH]$**** "BBB@
MK-\8_P#(L7O_ %P-:59OC'_D6+W_ *X&@"YIW_(/@_ZXK_(5-4.G?\@^#_KB
MO\A4U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6/XE_
MY"^C_P#7Z?\ T$UL5C^)?^0OH_\ U^G_ -!- &Q1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 5X7^UA_R6SX'_P#8]R_^DS5[I7A?[6'_ "6SX'_]CW+_ .DS4 >Z4444
M %%%% !1110 4444 %%%% &/XE_Y"^C_ /7Z?_036Q6/XE_Y"^C_ /7Z?_03
M6Q0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8]E
M_P CO>_]>47\S6Q6/9?\CO>_]>47\S6Q0 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 8_@?_ )!$O_7[-_Z%6Q6/X'_Y!$O_ %^S
M?^A5L4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M&/X'_P"01+_U^S?^A5L5C^!_^01+_P!?LW_H5;% !1110 4444 %%%% !1TZ
MTRXN+>TMWNKJ=(HHD+R22,%5% R22>  .]> :_XT\:_MC:W=?#[X0:K<Z-\.
M[2<P>)/&< VRZN1P]I9$_P !Z-+TQ[?*_B9SG='*8PIQ@ZE>I=4Z<?BFUOY1
MA'><W[L5OJTGR8K%QPR44N:<OABMW_DEU;T1<\=_%OQS^T'XJN_@K^S5JAM-
M.M)?)\7?$&,9BLA_%;VA'^LG(_B!PO8C[P]1^$WPD\#?!7P=!X(\!:2+:UB.
M^:9SNFNI3]Z65^KN?7L,    "]X$\!^$OAGX5M/!7@?0X=/TVRCV06T(X]V)
M/+,3R6.22<FM>N;*,DK4<2\QS&2J8J2M=?!3B_\ EW23VC_-)^]4:O*R48QS
MPV$E&I[>N^:H_NBNT?+N]WUZ)%%%%?2'>%%%% !1110 4444 %9OC'_D6+W_
M *X&M*LWQC_R+%[_ -<#0!<T[_D'P?\ 7%?Y"IJAT[_D'P?]<5_D*FH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *Q_$O_(7T?\ Z_3_
M .@FMBL?Q+_R%]'_ .OT_P#H)H V**** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH ***Y?XQ?&WX._L\^ ;OXJ?'GXI>'
M_!OAFQDBCO-?\3ZO#8V<#R.(XU:69E4%G95 )Y) % '445YQ^S]^V%^RE^U@
MNJO^S%^T?X(^(*Z$81K3>#?$UMJ0L3-O\H2F!V\O?Y<FW=C.QL=#57Q#^VQ^
MR5X3^*W_  I'Q'^T)X7L_%"ZA;Z?/I<VJ(#;7LX!M[.:3_5P7,H9?+@D99)-
MZ[5;<,@'J-%9OC'QEX0^'?A74/'7C_Q3IVAZ)I%H]UJNL:O>QVUK9P(-SRRR
MR$)&B@$EF( %<E\$OVIOV>?VCI-0MO@E\6M(\07.DI#)J5C:3%;FVBF!,,SP
MR!9%BE"L8Y=NR3:VUFP< '?T444 %>%_M8?\EL^!_P#V/<O_ *3-7NE>%_M8
M?\EL^!__ &/<O_I,U 'NE%%% !1110 4444 %%%% !1110!C^)?^0OH__7Z?
M_036Q6/XE_Y"^C_]?I_]!-;% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110!CV7_([WO_ %Y1?S-;%8]E_P CO>_]>47\S6Q0 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?\ Y!$O
M_7[-_P"A5L5C^!_^01+_ -?LW_H5;% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110!C^!_P#D$2_]?LW_ *%6Q6/X'_Y!$O\ U^S?
M^A5L4 %%%% !1110 55UK6M(\.:3<Z]K^I06=E9PM+=75S($CB11DLQ/  %5
M?&GC7PM\._#%YXR\::W!IVFV,1DN;JX;"J.P'=F)P HR22  2:\0T?PMXT_;
M1U:W\:?$S3[O1/AE;3+-H7A64F.?7B#E;F[P<K%T*Q]^#T^9OGLYSR6!JQP6
M#A[7%5%>,+V26SJ5'KR4T]W:\G[L%*6AQ8K%NE)4J2YJCV79=Y/I%?>]E=D<
MDOC+]N+4VM[1K[0?A';3XDF&Z&[\5,K<JO1H[7(Z]6^O$?O>@:!HGA71;7PY
MX;TJ"QL+*$16MI;1A(XD'10!TJQ9V=II]I%86%K'!!!&L<,,*!4C0# 50.
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
M'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0H_L[3_\
MGQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\ OT*/[.T_
M_GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\ ^?&'_OT*
M/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[.T_\ Y\8?
M^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S^SM/_P"?
M&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]5<_L[3_^
M?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]]5<_
ML[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_  F/AC_H-0?]]4?\)CX8_P"@U!_W
MU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC_H-0
M?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_OT* .?\)>)=!L=,DAN]4BC8W4K!6/
M8MP:U/\ A,?#'_0:@_[ZJIX+LK.72I&EM(F/VR49:,'C=6O_ &=I_P#SXP_]
M^A0!3_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZJY_9VG_P#/C#_WZ%']G:?_ ,^,
M/_?H4 4_^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJKG]G:?_P ^,/\ WZ%']G:?
M_P ^,/\ WZ% %/\ X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^JN?V=I__/C#_P!^
MA1_9VG_\^,/_ 'Z% %/_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJKG]G:?\ \^,/
M_?H4?V=I_P#SXP_]^A0!3_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZJY_9VG_P#/
MC#_WZ%']G:?_ ,^,/_?H4 4_^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJKG]G:?
M_P ^,/\ WZ%']G:?_P ^,/\ WZ% %/\ X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^
M^JN?V=I__/C#_P!^A1_9VG_\^,/_ 'Z% %/_ (3'PQ_T&H/^^J/^$Q\,?]!J
M#_OJKG]G:?\ \^,/_?H4?V=I_P#SXP_]^A0!3_X3'PQ_T&H/^^J/^$Q\,?\
M0:@_[ZJY_9VG_P#/C#_WZ%']G:?_ ,^,/_?H4 4_^$Q\,?\ 0:@_[ZH_X3'P
MQ_T&H/\ OJKG]G:?_P ^,/\ WZ%']G:?_P ^,/\ WZ% '/\ A+Q+H-CIDD-W
MJD4;&ZE8*Q[%N#6I_P )CX8_Z#4'_?55/!=E9RZ5(TMI$Q^V2C+1@\;JU_[.
MT_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ GQA_[]"C
M^SM/_P"?&'_OT* *?_"8^&/^@U!_WU6%\1?CM\+OA;X4N?&'C#Q3##:VZ_*D
M8+2SO_#'&O5G/8?B< $B#XT?%WX=_ WPL/$/BNW6:XN9/(TG2+. /=:C<'[L
M4*#EB21D]!D9ZC/"_"KX#^*OB)XOM_CY^TOI]N=5C^;PSX.CPUIH,9Y#,.DM
MR>"6/0@=PH3YG-LZQ"Q7]F97%3Q+2;;^"C%[3J6ZO[%--2F_Y8IS7GXG%S]I
M[##J]3KVBN\OTCN_)7:Q/!WAK4_VDO%-I\7_ -HYHM/T&RE\[PG\/I9-R1_W
M;J]&,22D<B,\*#@@<@^\#QAX7 P-9@ '09J[_9VG_P#/C#_WZ%']G:?_ ,^,
M/_?H5VY-DN'R>E*TG.K4=ZE27QSEW?1);1BK1BM(I(VPN$AA8O6\GK*3W;\_
MT2T2T13_ .$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJKG]G:?_SXP_\ ?H4?V=I_
M_/C#_P!^A7LG44_^$Q\,?]!J#_OJC_A,?#'_ $&H/^^JN?V=I_\ SXP_]^A1
M_9VG_P#/C#_WZ% %/_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZJY_9VG_\ /C#_
M -^A1_9VG_\ /C#_ -^A0!3_ .$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJKG]G:
M?_SXP_\ ?H4?V=I__/C#_P!^A0!3_P"$Q\,?]!J#_OJC_A,?#'_0:@_[ZJY_
M9VG_ //C#_WZ%']G:?\ \^,/_?H4 4_^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J
MN?V=I_\ SXP_]^A1_9VG_P#/C#_WZ% %/_A,?#'_ $&H/^^JS_%'BCP_>>'[
MNUM=5B>1XB$13R36Y_9VG_\ /C#_ -^A6=XNL;*/PU>/'9Q*PA."L8!% !8^
M+O#4=E#&^LPAEB4$$]#BI?\ A,?#'_0:@_[ZJ;3]/L&L(";*$DPKDF,>@J;^
MSM/_ .?&'_OT* *?_"8^&/\ H-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0
MH_L[3_\ GQA_[]"@"G_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\
MOT*/[.T__GQA_P"_0H I_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\
M^?&'_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[.
MT_\ Y\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S
M^SM/_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]
M5<_L[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_  F/AC_H
M-0?]]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_  F/AC_H-0?]]4?\)CX8
M_P"@U!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_P
MF/AC_H-0?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU67
MKWB70;G4],F@U2)EANBTK _=&WJ:Z#^SM/\ ^?&'_OT*R/$=E9IJNDJEI$ U
MX0P$8Y&TT 6_^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJKG]G:?_P ^,/\ WZ%'
M]G:?_P ^,/\ WZ% %/\ X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^JN?V=I__/C#
M_P!^A1_9VG_\^,/_ 'Z% %/_ (3'PQ_T&H/^^J/^$Q\,?]!J#_OJKG]G:?\
M\^,/_?H4?V=I_P#SXP_]^A0!3_X3'PQ_T&H/^^J/^$Q\,?\ 0:@_[ZJY_9VG
M_P#/C#_WZ%']G:?_ ,^,/_?H4 4_^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJKG
M]G:?_P ^,/\ WZ%']G:?_P ^,/\ WZ% %:V\4>'[R=;6UU6)Y'.$13R35^HD
ML;*-@\=G$K#H5C (J6@ HHHH **** "BBB@ HHHH **** "BBB@ K.U3P?X2
MUO5K37]9\+Z==W^GDFPO;JRCDFMB>\;L"R?@16C10 52E\.>'IM=B\43:#9/
MJ<,!@AU%K5#/'$3DHLF-P4GD@'%7:*  @$8(JGH7ASP]X7L?[+\,Z%9Z=;&1
MI#;V%JD,>]CEFVH ,D\D]ZN44 %%%% !7A?[6'_);/@?_P!CW+_Z3-7NE>%_
MM8?\EL^!_P#V/<O_ *3-0![I1110 4444 %%%% !1110 4444 8_B7_D+Z/_
M -?I_P#036Q6/XE_Y"^C_P#7Z?\ T$UL4 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% &/9?\CO>_]>47\S6Q6/9?\CO>_P#7E%_,
MUL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &/X
M'_Y!$O\ U^S?^A5L5C^!_P#D$2_]?LW_ *%6Q0 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 8_@?_D$2_P#7[-_Z%6Q6/X'_ .01
M+_U^S?\ H5;% !7 _'7X_>'O@KIMK9)ITVL^)=7?R?#WAFPYN+^4\#@9V1@_
M><C [9/%4/CO^T*GPWO+3X=?#[0SXC\=ZRN-'\/P-Q&I_P"7BX;/[J%>I)(S
MCC !96_ K]GI_ &I77Q/^)FMCQ'X]UA?^)IKDJ_);(?^7:V4C]W$O3@ MCG
MPH^3S'-\9F&,EEF3M>TCI4JM7A1OT2VG5:UC#:*M*IIRQGYM?$U:U5X?"_$O
MBENH_P"<NRZ;OHG1^"WP!\1)XI/QV_:"U&'6/'%U&1:6\8S9Z!">EO;*<C<
M2&DZG) )RS/Z[117LY3E&"R;">PPZ>K;E)N\IR>\YR>LI/JWY)62275AL-2P
MM/DAZMO5M]6WU;_K0****],Z HHHH **** "BBB@ HHHH **** "BBB@ K-\
M8_\ (L7O_7 UI5F^,?\ D6+W_K@: +FG?\@^#_KBO\A4U0Z=_P @^#_KBO\
M(5-0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5C^)?\
MD+Z/_P!?I_\ 036Q6/XE_P"0OH__ %^G_P!!- &Q1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 5X7^UA_R6SX'_\ 8]R_^DS5[I7A?[6'_);/@?\ ]CW+_P"DS4 >Z444
M4 %%%% !1110 4444 %%%% &/XE_Y"^C_P#7Z?\ T$UL5C^)?^0OH_\ U^G_
M -!-;% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M!CV7_([WO_7E%_,UL5CV7_([WO\ UY1?S-;% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110!C^!_^01+_ -?LW_H5;%8_@?\ Y!$O
M_7[-_P"A5L4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M<I\9_C/X%^ _@:X\?>/]1,-K$PC@@B ::ZF(.V*-<C<QP?0  DD $U\/?$C_
M (*C?'KQ)JDA^'MEIGANP#G[.@M5NK@K_MO*"A/^Z@_&HO\ @J#\2M4\3_M
MK\/C<L+#PQIT*1V^[Y?/G19GD^I1HE_X![U\V5_&GBSXM<1U.(Z^5937E0HT
M).#<'RSG..DFY+5)2NDDU>UW>Z2_+N(^),<\=/#X:;A&#MIHVUOKOOIH?2?P
ME_X*;_&OP1?);^.M,TWQ#IKS%[A/LXMK@9/)1X\)[X9#Z9%?2NK?MGVGQ5T7
M3/"O[*NG-KGBS7[4R;;V$I!H$6[:\UX>0"ISA!G=P1D%0_YKU],?\$MOB+?^
M&_CW<^ ?,S9^)=*D#Q?]-[<&5'_!/.&/]KVK@\.O$_B[&9O1R+'8V3I8F2A[
M1^]5@Y:+DF];R=HWES<M^:*NM<,CX@S.KB8X.M5;C-I7>LE?LWWVUO;='V7\
M"?V?]#^#5G=ZS?ZI-KGBK66\WQ#XGOQF>\DZ[5_YYQ _=0<  9S@5Z#117]F
MY=EV"RK!QPN$@HPCLO75MMZMMZN3;;;;;;9^IT*%+#4E3IJR7]?-]WU"BBBN
MTU"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K-\8_P#(L7O_ %P-:59O
MC'_D6+W_ *X&@"YIW_(/@_ZXK_(5-4.G?\@^#_KBO\A4U !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !6/XE_Y"^C_P#7Z?\ T$UL5C^)
M?^0OH_\ U^G_ -!- &Q1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5X7^UA_R6SX'_P#8
M]R_^DS5[I7A?[6'_ "6SX'_]CW+_ .DS4 >Z4444 %%%% !1110 4444 %%%
M% &/XE_Y"^C_ /7Z?_036Q6/XE_Y"^C_ /7Z?_036Q0 4444 %%%% !1110
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
M %%%% !1110 4444 %%%% !1110 5F^,?^18O?\ K@:TJS?&/_(L7O\ UP-
M%S3O^0?!_P!<5_D*FJ'3O^0?!_UQ7^0J:@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ KR7]I;XYZ?\(];\+6Y19I9=2$]]$!EDLQ\KL!
M_>.3M]=IKU6]O;33;.;4;^X6*"")I)I7.%1%&2Q/H ,U^?\ \:_B5=_%CXD:
MCXRF+""67R[")O\ EE;KPBX[''S'_:8U^-^-''U?@GA^G# SMBJ\DH?W8Q:<
MY6^Z/_;U^A]UP'PW3S_,Y2Q$;T::][S;NHK\W\O,_0&SN[6_M(K^RG66&>-9
M(94.5=2,@@]P0:DKQ#]A_P"*_P#PE_@"3P!JMSNOM PL&X\R6C'Y/KL.5]AL
M]:]OK]#X4XBPG%?#V'S7#_#5BFU_+):2C_V[)->=KGS&<Y76R;,ZN#J[P=K]
MUNG\U9A1117T)Y@4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !7A?[6'_);/@?\ ]CW+_P"DS5[I7A?[
M6'_);/@?_P!CW+_Z3-0![I1110 4444 %%%% !1110 4444 8_B7_D+Z/_U^
MG_T$UL5C^)?^0OH__7Z?_036Q0 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 8]E_R.][_P!>47\S6Q6/9?\ ([WO_7E%_,UL4 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%5M8UC2_#^E7.
MNZYJ$5I9V<#375S.X5(HU&69B>@ !-?$WQU_X*G^)KC5Y]#^ 6@VMM81,476
M]6@,DT^#]^.(D+&OIO#$C&0IXKX_B[CKAO@C#1JYI5LY7Y817-.5M[+LN[:7
M2]SS,RS? Y334L1*S>R6K?R_5Z'V5X'_ .01+_U^S?\ H5;%?FKX,_X*0_M-
M^$[P276M:7JML96>2SOM)C56R<G#0[&'MS^=?9O[*_[7_@7]IS2)K>PMFTKQ
M!8Q!]1T6:4.=F<>;$^!YD>2 > 5) (Y4GP>$O%S@WC'&K!X2<J=9_#"I%1<K
M;\K3E%ORO>VJ6C./+>)<KS2K[*FW&7125K^EFU^-SUVBBN8^(7QH^%'PHMC<
M_$7X@Z5I/R[EANKM1,X_V8QEW_ &OT;%8O"X&@ZV)J1A!;RDU%+U;LCW*E2G
M1@Y3DDEU;LCIZ*\2_P"&O/$'C_\ <?LZ_ +Q+XJ5^(M9U&,:9II_VA+-R^.N
MW:#^=)_PJW]K[XH?O/B9\<;#P;82<MI'@.R+3[?0W<WS(P]4!&:^;_UNPF+T
MRNA4Q3[PC:GZ^UJ.%-K_  2D_)G!_:=.IIAX2J>:5H_^!.T?N;/4_&WQ*^'W
MPVT_^U/'WC33-'@VDJ^H7B1%_903EC[ $UY?-^VAIGB^9K#]GOX1^)_'DP<H
MM]:V1LM.#=,-<S@!>?\ 9QQUK8\$_L9_L_\ @V__ +=N_![>(=6)S+J_BJX;
M4)Y&[,?-R@/NJ@UZC###;0K;V\2QQHH5$1<!0.@ '04>PXQS'^+5IX6':FO:
MU/\ P.:C3B_+V4UYOJ<F:5_BE&FO+WI?>[)?^ OU/$_^$0_;6^*?S>+?B-H'
MP\TZ3K8>&K3[=?%?[KSR_(C?[4?Y5I>&/V)O@=I6IKXC\:6&H^--7'+:IXRU
M%[YV/?Y&Q'C/JI^M>N45=+@[)7457&*6)FM>:M)U+/O&#_=P?^"$2HY7A.;F
MJIU'WF^;[D_=7R2(=.TW3M(LH]-TFPAM;>%=L5O;Q!$0>@50 !4U%%?41C&,
M5&*LD=Z22L@HHHIC"BBB@ HHHH **** "BBB@#'\#_\ ((E_Z_9O_0JV*Q_
M_P#R")?^OV;_ -"K8H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH *S?&/_(L7O_7 UI5F^,?^18O?^N!H N:=_P @^#_KBO\ (5-4.G?\
M@^#_ *XK_(5-0 4444 %%%% !1110 4444 %%%% !1110 45F>)?&?A'P;:_
M;/%GB:QTZ/&0U[=+'N^@8Y/T%<-/^T_X9UF9K+X6^#]>\63@E?,TS3V2V5O]
MJ60 */?!%>'F7$N0Y145+%8B,:CVA?FF_2$;S?RBST,+E68XV'/1I-Q_FVBO
M63M%?-GIE-GG@MH6N+F9(XT&7=V "CU)/2O,O^,J/''_ $ /!-H__<0O4_E$
M:=!^S!X8UB9;WXI>,->\63!MWEZGJ+);*W^S%&0%'MDBO-_UASC':9;E\VOY
MZS5"'_@+4JWWTEZG7_9F!P_^]8F*?\M->TE]Z:A_Y.S1\2_M+?!SPY=?V9%X
MJ75;XG$=AH<37<CGT'EY4'V)%9G_  LWX]>-/E^'WP672+=_N:CXPN_*(^MO
M'EQ^9KO/#7@SPCX-M?L?A/PS8Z='C!6RM5CW?4J,GZFM.C^R>)\?_ON/5*/\
MN'@HOT=2I[23]8QIOT#Z[E&&_P!WP_.^]23?W1ARI>C<D?*7[6&I_%+PAHEI
MHGC?XR2W]]J^YI-&TBU%K:Q6XX.\@[I0S< -Z-Z5\^5[O\:_@-^TO\6/B1J/
MC*;X>,()9?+L(FU>T_=6Z\(N/.X./F/^TQKCKG]DS]H&SFA@N? &U[A]D(_M
M6T.XXSCB7C\:_BOC[A[C+/\ BC$5\-EN+E1B^6FYTZ]23C'3F<IJ3]YWE:]E
M>R22/WKAO,\BRW**=.KBZ"J-7DHRIQ2;Z6BTM-K];7,;X(?$RZ^$OQ*T[QA&
MS&W23RM0B7_EI;OPXQW(X8?[2BOO^SN[6_M(K^RG66&>-9(94.5=2,@@]P0:
M^'_^&//VC/\ HG?_ )5[/_X]7T_^S%I/Q0\,?#6+P?\ %+P^UE<:7(8K"5KN
M&;S;<\J,QNV"O*\X^4+CO7[!X 3XMR'$5\FS3 UZ5"I^\A*=*I&,9JRDG*44
MESQLU=[QMO(^(\28Y+F-*GCL)B*<ZD?=DHSBVXO9V3N[/\'V1Z+1117]1'Y"
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 5X7^UA_R6SX'_ /8]R_\ I,U>Z5X7^UA_R6SX'_\ 8]R_
M^DS4 >Z4444 %%%% !1110 4444 %%%% &/XE_Y"^C_]?I_]!-;%8_B7_D+Z
M/_U^G_T$UL4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% &/9?\CO>_\ 7E%_,UL5CV7_ ".][_UY1?S-;% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%!( R37G/Q#_:S_9]^&5P=-\0?$BRN-0W
M;%TO22;RY9_[FR$,5;_>Q7#F&:9;E-#VV-K1I0[SDHK[VT8UL10PT.:K)17F
M['CO_!5?XE:IX8^$VB?#S3+EHE\2ZC(]Z4;'F06P1C&?8R21-_P#WKX#KZX_
M;]\2?$#X^^!]*^(6G_ 3Q+H?A[PO--YFL>($CMY)%N&B0?Z/DN%W1I\^2.1G
M&:^1Z_A'QJS&IFO'E7$)R=%PIJDW&44X**NXJ23<?:<^JT;O9L_(.*J\L1G$
MIJ_+9<MTUI;I>VE[Z[!74_!;XF>*?A#\3M(\?^#IHUO;*Z&V.=B(ID;Y7CDQ
MSL920?3J.0*Y:NO^ ?PWU3XM_&+P]X!TNW:0WVIQ?:65<^5;JVZ60^RH&/OC
M'>OSG)ECY9OAU@FU6YX\EM^?F7+;SO:QX>%59XF"I?%=6MO>^A^@_P#PHO\
M:9^)O[SXT_M&OHUG)_K-"^'EK]E4 ]1]KDS*1V(((KI_A[^R5^S]\-;D:GHG
MPZM+O4=V]]6UDF]N6?\ O[YBVUO==M>CT5_H[A>$LBP]=5ZE+VU5;3JR=62_
MPN;ER^D.5>1^Y4\MP<)J<H\TN\FY/Y7O;Y6   8 HHHKZ4[PHHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** ,?P/\ \@B7_K]F_P#0JV*Q_ __ "")
M?^OV;_T*MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MK-\8_P#(L7O_ %P-:59OC'_D6+W_ *X&@"YIW_(/@_ZXK_(5-4.G?\@^#_KB
MO\A4U !1110 4444 %%%5=7US1?#]FVHZ]J]K8VZ_>GN[A8T'U9B!45*E.E!
MSFTDMV]$O5E1C*<E&*NV6J*\XU/]J/X:_;&TGP5#JGBJ^7@VWAW3GG /;+G"
MX]P35?\ X2+]I_QOQH7@G1?"-H_2XUN[-W<[?[RQQ?*I]GKY:?&F1SFZ>!<L
M5):6H1=17[.:_=Q_[>G$]>.0YA&/-B$J*[U&HOY1?OOY19Z>2 ,DUQWB_P"/
MWP@\#R&VUWQU9&Y!VBSLV-Q,6[+LB#$'ZXK!_P"&<+KQ1^]^+WQ8\0>(]W^L
ML8I_L5FW_;*+^>X5V/A#X7?#KP$@7P?X,T^P8#'G0VP\TCWD.6/XFI^M\99A
M_ P]/#1[U9>UG_X+I-0_\KOT*]CD6&_B5957V@N2/_@<TY?^4SCO^%U_$_Q?
M\GPM^!FIM"WW=3\32K8P@?W@AR[K],&C_A67QZ\:?-\0?C2ND6[_ '].\'VG
ME$?2XDRX_(UZ?11_JK4QFN:8VK6_NJ7L:?IRTN637E.<P_MB-#_=*$*?FUSR
M^^=TGYQC$X/PU^S3\'/#EU_:<OA5=5OB<R7^N2M=R.?4^9E0?< 5W4$$%M"M
MO;0I'&@PB(H 4>@ Z4ZBO<RW)LIR>FZ>!H0I)[\D5&_F[+5^;U//Q6.QN.GS
M8BI*;_O-NWI?;Y!1117I'(%%%% !6/XE_P"0OH__ %^G_P!!-;%8_B7_ )"^
MC_\ 7Z?_ $$T ;%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %?*7[6?_!->^_;X^)>KW?[1G[1_P 2M \#:7##9^!_
M!?PS\9RZ+ [&!))]4OGA7?<W7GN\44;DQ11VZL%+3/7U;7EW[1GQYUKX>_8?
MA3\'=&M=?^*'BJ"4>$] N786]K&I59=4OV3YH+"W+J9'X:1BD$6Z65%(!\D?
M\$)?%O[3?@_7?VC_ -BKX_\ QIUGXE:#\!OBHF@>!/B%XFN#/?W=C-;?:#9W
M$Y)\V2W0P%B22IG*Y"*BK\JZ-^TO^PK_ ,%=_P!N+Q1X3^*7_!6G]IKX%>.+
MGQ/-H7PY^&7@GQI+X1TF\TBV<PVDJ-/9R1W%[=N)+DAI$D(N8H41O)R?U3_9
M.^!OPH_9!\#P?L_Z+XYBU;Q7JDE_XL\7:MJ4L::EXDU*YN%;4-8GC4\"2XE5
M1CY(U\N)?EC4#Q7_ (+D?LD_LQ_M6_\ !-[XE^)/C1H&EMJ?A#P/J&N^ _&*
M1H+[2=3@@::T-K.OSXEF6*,Q(?WPD"@%BI !R'_!4WX[>.OV=-(_9A_X)I_
M/XE^)-)UKXY>/;#PA=^-WUF2;7+3PSIZ6_\ :MU'>.3)]ODBDA3[2?G!FDD!
M#[6&?^T-XV@_X)8?\%$/V:_#?PDU+5;?X5?'_6;WP)XS\(ZEKMW?6]KK86%M
M)U2U^U2R-#<22RO!.58"9"K.'D16'D'[=O@?XU>!_CY_P2U_:G_:,^TG5/#'
MB&V\(?%"^NCG[/X@UK2K"%7E;^'==6]T&8G&=HR,\^@_\%K?!>J_''_@HO\
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
M?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P#
MMJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\
M MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8
MHK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO?_ MJ/\
MA!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P# MJ -BBL?
M_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ #P/_P @B7_K]F_]"K8KE/"OA73M
M0TZ2::>Y!%S(H"7#*,!JT_\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "
MVH_X0?2/^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BB
ML?\ X0?2/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$
M'TC_ )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^
M$'TC_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/
M^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2
M/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8KG_BKK^G^%OAUJ_B'5)-L%I9L[\]>F
M%'N3@#W(JQ_P@^D?\_-[_P"!;5\W_MQ>,M/TJYL_A7H%[.[[1=ZMON"P'_/*
M,C\W/_ #7QO'W%='@SA7$9G*W/%6@G]JI+2*]+ZO^ZF>[PWDU3/LXI81?"W>
M3[16[_1>;1])>!?$FF>,/!NF>)]&FWVU[91RQ'/(RHRI]P<@CL0:UJ^5?V)_
M'FB74=_\-_%>K26ZPH;S3)6NS&@7/[U.3@<D./JYKU+Q#\9/@3HEW_96F^*=
M0UR_/W+#P^TEW(Y] 4^3/_ J\WA7Q%R'.N$L-FV,Q$*4IJTE*25JD=)12;N[
MO6*5VTUW.K.>%\QP&=5<%0I2FHNZ:3?NO5-O9::-[73/6**\8^U_&_QI\O@;
MX4OH5LWW=0\7:PX;'_7O%\ZGZDBKEG^S7XK\0#?\3_C5K5XC_>T_12+. #^Z
M3\S./K@UZW^M-?&:97@:M;^]*/L:?K>KRS:\X4Y_<<?]CTZ'^]XB$/)/VDON
MA>*?E*43N/&/Q=^&7@ ,/%_C?3[*11DV[SAIOPC7+G\!7)_\-#ZYXK_=_"+X
M.:]KBM]S4+Y!86C>XDDY;Z8!K4\-?LV?!_PDZSZ%X66*9>ER\ADESZ[VR1^!
MKH_^$'TC_GYO?_ MJ/J?&.8?[QB:>&C_ "T8^TG_ .#:JY?_ "A\P]OD>&_A
MTI57WF^6/_@$'?\ \J'$?\(E^TQXV^;Q/\1M*\+6K];/P[9&><KZ&67[K>ZU
M:TC]EWX66UXNK^*K>_\ $U^.MYXDOWN2?7Y3A"/JIKK?^$'TC_GYO?\ P+:C
M_A!](_Y^;W_P+:KI\%Y#*:J8R,L3-=:\G5L^ZA)NG'_MR$299]F*BXT&J4>U
M-*'WM>\_^WI,T-,TK2]%LUT_1]-M[2W3[D%M"L:+]%4 "K%8_P#P@^D?\_-[
M_P"!;4?\(/I'_/S>_P#@6U?4PA"G!1@K););'CRE*4KMW9L45C_\(/I'_/S>
M_P#@6U'_  @^D?\ /S>_^!;50C8HK'_X0?2/^?F]_P# MJ/^$'TC_GYO?_ M
MJ -BBL?_ (0?2/\ GYO?_ MJ/^$'TC_GYO?_  +:@#8HK'_X0?2/^?F]_P#
MMJ/^$'TC_GYO?_ MJ -BBL?_ (0?2/\ GYO?_ MJ/^$'TC_GYO?_  +:@#8K
M'\2_\A?1_P#K]/\ Z":/^$'TC_GYO?\ P+:LS7/"NG6NHZ;#'/<D3W)5RUPQ
M(&WMZ4 =716/_P (/I'_ #\WO_@6U'_"#Z1_S\WO_@6U &Q16/\ \(/I'_/S
M>_\ @6U'_"#Z1_S\WO\ X%M0!L45C_\ "#Z1_P _-[_X%M1_P@^D?\_-[_X%
MM0!L45C_ /"#Z1_S\WO_ (%M1_P@^D?\_-[_ .!;4 ;%%8__  @^D?\ /S>_
M^!;4?\(/I'_/S>_^!;4 ;%%9=GX2TVQNDNX;BZ+1ME0]RQ'XBM2@ HHHH **
M** "BBB@ HHHH **** "BBB@ KY-_::_X(>?\$R/VQ_C+J/[0/[2GP!UCQ1X
MNU2&*&ZU6X^)_B2 +#&,1PQ0P:BD4$2Y8B.-%0%F.,L2?K*B@#YQ_99_X)(_
M\$]/V+?#7CKPA^SA^SO#H=A\2M*33?&\5[XEU34VU2S2.>-8&DO[F9XTVW$P
M*QE0=^3DA2*7[,G_  2)_8L_9.CTO3?AKH?C/4-'\/:@M[X5\+>,/B5K.LZ+
MH,Z-OCEL].N[E[2*5'^9)O*,J-\RN#S7TW10!R?QO^!OPG_:1^%VK?!CXW^"
M;3Q#X:UJ%8]0TR[+*"58/'(CH5>&5'5726-E>-T5T964$<O\&/V./@M\$O']
M[\7M(37_ !!XSO\ 24TF7QAXU\37>LZE%IJ/YBV,,UU(Y@@W_.R1A1(X#R;W
M&ZO5** "BBB@ KPO]K#_ )+9\#_^Q[E_])FKW2O"_P!K#_DMGP/_ .Q[E_\
M29J /=**** "BBB@ HHHH **** "BBB@#'\2_P#(7T?_ *_3_P"@FMBL?Q+_
M ,A?1_\ K]/_ *":V* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@#'LO^1WO?^O*+^9K8K'LO^1WO?\ KRB_F:V* "BBB@ HHHH
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
M_P#U^G_T$UL5C^)?^0OH_P#U^G_T$UL4 %%%% !1110 4444 %%%% !1110
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
M@/\ N+_Z9J'Z+4445_"I_?(4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !7A?[6'_);/@?\ ]CW+_P"D
MS5[I7A?[6'_);/@?_P!CW+_Z3-0![I1110 4444 %%%% !1110 45SGQ9^+/
MP_\ @;\/]0^*7Q2U_P#LO0=+\K[=??999_*\R5(4^2%'=LR2(O"G&<G !->+
M_P##V3_@G]_T7W_RU=5_^1:]C+^'>(,WHNM@<)5JP3LY0ISFD[)VO%-7LT[;
MV:[GBYCQ)P[D]=4<?C*5&;5U&=2$&U=JZ4FG:Z:OM=/L>Y^)?^0OH_\ U^G_
M -!-;%?-.N?\%0?V&KQ=-\0V_P :Y&LH-1,<MS_PBNJA%?9G;DVO)QSBK?\
MP]D_X)_?]%]_\M75?_D6NJEPAQ;7YO9Y?7ERMIVI5'9K=.T=&NJW..IQIP=2
MMSYEAU=75ZU-73V:][9]SZ+HKG/A-\6?A_\ '+X?Z?\ %+X6Z_\ VIH.J>;]
MAOOLLL'F^7*\+_),B.N)(W7E1G&1D$&NCKPJ]"MAJTJ-:+C.+:E%IIIIV::>
MJ:>C3U3/H:%>ABJ$:U&2E"23C)----7336C36J:T:"BBBLC4**** "BBJ6M^
M)/#OAJW^V>(]>LM/A_YZWMTD2_FQ J)U(4H.4VDEU>B$Y**NV7:*\R\3?ME_
MLN^$BRZK\:]%E9>JZ;,UX?I_HX?FL+_AMOPIK?R_#7X-_$+Q3N_U=QI?A=T@
M/N9)2NT>^*^=K\9<*X>I[-XVG*?\L9*<O_ 8<TOP.&>:9=!\KJQ;[)W?W*[/
M:J*\5/QB_; \3_+X0_93L](B;[EYXG\60_K#"-X_.@>#_P!N_P 5#_B>?&+P
M/X55O^A=\/RWSH/^WH@$_I6/^ME*M_NF#Q%7TI2IK[Z_LE\[V)_M*,OX5*<O
M^W7'_P!+Y4>U53UGQ!H/AVV-[X@UNSL81UEO+E(E_-B!7D/_  R3XO\ $/S?
M$K]JWXA:IG_60:3?QZ; _L8XE/'MFK>C_L(_LP:9=?VEJ'P\?5[LXWW6MZI<
M73/]0[[3_P!\T?VEQ;B/X&7PIK_I[62:_P"W:4*J?ISKU#V^93^"BE_BG^D5
M+\S5\3_MB_LP>$-W]K_&S0Y"GWETZY-XP/IBW#G-<_\ \-O>#-:^7X:_"/X@
M^*MW^KGTCPM((#[EY2NT>^*]*\+_  G^%W@@+_PAWPYT+2BO1M/TF&%OS502
M?>N@H^I\98G^+BZ5)=J=&4I?^!SJ6_\ *8>RS2?Q58Q](MO[W*W_ )*>*?\
M"Z/VNO%!QX._9.ATJ%ON7OBCQ5"GYPQC>/SI?^$4_;P\5?\ (8^+'@3PHC=/
M[ T*6^D0>_VHA2?TKVJBC_5>M6_WO,,14\E.-)?+V$*4O_)F_,/[/G/^+6G+
MYJ/_ *0HO\3YM^-?['?Q4\;?"?7K?Q'^TGXN\3ZDNG/-9Z.BPVEC>3QXD2-X
M$!#991MY&&VGM7YW.CQN4=2K*<$$8(-?IW_P4+^+/Q ^!O['WB_XI?"W7_[+
MU[2_[/\ L-]]EBG\KS-0MH7^29'1LQR.O*G&<C! -?C=XL_: ^+/C?Q)>^+?
M$?B:*6_U"<S7DL&E6L"R2'JVR*)4!)Y. ,DDGDFO/SGZ(7$GB[@J>;\+XFA1
M=.4J518FK7;E91FI*2IUI:<]M7K?I;7\-\4N+.'^%,WHX.K"HZDJ:FVK27*Y
M22UE-2YDXNZM:S6O0]5IT44D\BPPQL[NP5$49+$] !WK0D^'OCE?V??[1%^W
M_"2"/^T3_HT>[;C/D;=N,[/;._BO&?!_[0GQ<\!^)K+QAX8\3Q0ZAI\XFLYI
MM*M9UCD'1MDL3(2.H)!P0".0#7XCX8_1)XQ\6*F/_L/-\!*&"Q$L/5?M*]_=
M_P"7E-?5[2IS5_9R;CS\KVL<7'=>KX<SP"SK#U8K%T85HVC'12^*$KS7[R&G
M/&^EUKJ?M[^S%\.[_P"%/P!\*^ ]6C\N\LM*5KV(_P#+.>1C+(G_  %W89]J
M[NO%_P#@GI\6?B!\<OV/O"'Q2^*6O_VIKVJ?VA]NOOLL4'F^7J%S"GR0HB+B
M.-%X49QDY))KVBOZLJ9#_JK-Y+=/ZJ_8Z:K]U[FC:3:]W2Z7HC][R/&87,,D
MPN*PR:IU*<)14K<RC**<4[-J]FKV;5^K"BBBH/5"BF3W$%K&9KF=(T'5Y&
M_$UAZI\5_A?HF1J_Q%T.V(ZI-JL*M^6[)KEQ..P6"CS8BK&"_O22_-HVI8?$
M5W:E!R]$W^1OT5Y[J7[57P!TMMDWQ&MI6S@+:6TTQ)]!L0BJO_#4O@^\_P"1
M:\">,=9S]TZ;X<D8'_OLK7@5.-^#Z<N18^E*7:,XSE]T6W^!Z4>'\\DN;ZM-
M+NXN*^]V1Z917F?_  N[XI:E_P BU^S5X@ES]W^U+Z"R_/?G%'_"4?M5:K_Q
MX?"SPSI6>G]J:VT^WZ^2.:C_ %SRFI_ I5ZG^'#U[?\ @3IJ'_DQ7]@XV/\
M$G3CZU:=_N4F_P #TRBO,_\ A'?VK]5_X_\ XC>$])SU_LO2)9]OT\X\T?\
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
ML5]:N#.)(*T\/[/_ !RA3_\ 2Y1L> ^-N&9N]/$>T_P1G4_](C(^C**^=/\
MAHK]O[7>/#W_  3ZM].C/W;G7?B;8\_6.--PH.O_ /!5+7SC3? 'P5T!3U_M
M?5=2NW4>H\@ $_I3_P!5,9#^-B,/#_N8I2_"G.;%_K;@I_P</B)_]R]:/XU(
M01]%T5\Y_P#"LO\ @IKK_P#R%OVGOA[H&[K_ &%X+>[V_3[2PS^-*/V3/VO]
M:_Y'7_@HSXCE#??70?!5AIV/8%"Q'UH_L#+:?\7,Z"\DJ\G^%'E_\F'_ *PY
MG4_A977?FW0BO_)JW-_Y*?1=!( R37SF?^">4FKG?XW_ &T?CEJV[[]NOCG[
M/;M_VSCBX_.E_P"'67[)&HG/C32?%'B0]6.N>-+^3<?4[)4YH_L[A6G_ !,?
M-_X*%_\ TNI3%_:7%E3^'E\(_P".NH_^D4JA[9KOQ6^%WA?/_"2_$G0-.V_>
M^W:Q!#C_ +[85QFN?MO_ +'OAW(U+]IGP22N=RVGB*"X8?A$S&L70_\ @G)^
MQ!X> %A^SCH$F!Q]N66Z_P#1SMFNST+]F']FSPP0?#O[/O@FQ8<A[7PK:(V?
M7(CR:.7@RE]K$5/^W:=/_P!NJCYN-JOV</3_ .WJE3_VVD>;:I_P5*_86TV<
M6</QP6^N&_U<&F:#?W#.?0%("OZU6/\ P4N^$FH_\B3\%OBUXFS]S^POA]<2
M;_IYA2OH'2]#T70X?L^BZ/:V<?\ SSM;=8Q^2@5:H^O<(T_@P567^.O&WW1H
M1?\ Y,+ZCQC5^/'4H_X,/*_WRKR7_DJ/G/\ X;C^,.MC/@G_ ()^?%>?=_J_
M[=M;?3,_7S';;2C]H3_@H-KW&@?L!6&E1G[EQKOQ-LVR/>.)-R_2OHNBC^W,
MFI_PLKI>LIUY/\*L5^ ?V#G53^+FM;TA"A%?C1F_N9\Z'6/^"JNO_P#'AX.^
M"7A]&Z_VGJ&IW<BCT'D@*3]>*3_A5?\ P4PU[_D+?M6> ] SU_L/P,;K;]/M
M+#-?1E%'^M%2'\'"8>'_ '!C/_TYSA_JK2G_ !L9B)_]QI0_]-<A^'?_  4+
M\,^/O!W[8'B_PY\4/B6?&&NV_P#9_P!O\1G2(K#[66T^V=/W$1*1[498^#SL
MR>2:\7KZ+_X*R?\ *0'Q_P#]PK_TU6=?.E?W?PA6GB.$LOJS23E0I-V2BKNG
M%Z1BE&*[)))+1)(_@'C*C##<7YC2@VU&O62NW)V522UE)N4GW<FVWJVV%>X?
M\$X/AQX'^+?[:'@SX??$CPW;ZOHM^=0-YIUUGRY?+TZYE3."#PZ*WX5X?7T7
M_P $F_\ E(#X _[BO_IJO*7&-6K0X1S&K2DXRC0K--.S35.3336J:>S'P71I
M8CC'+:56*E&6(HIIJZ:=2*::>C36C3/U,TG]AO\ 8YT8 6?[,G@E\=/M?AV"
M?_T:K5T^D_ #X#Z"0=#^"?A&R*_=^R>&[6/'_?,8KKJ*_P _*V=9QB?XN)J2
M]9R?YL_T4H9)DV&_@X:G'TA%?DBMINBZ-HT?E:1I-M:IC&VV@5!CZ*!Z"K-%
M%>=*4I.[=V>E&,8*T59!1112&%%%% !1110 4444 %%%% !1110 4444 ?G3
M_P .!_\ J['_ ,L3_P"[JIZG_P $'?[.N[.U_P"&J=_VN8Q[O^$&QLXSG_C^
MYK](JQ_$O_(7T?\ Z_3_ .@FOT[_ (C)XD?]!W_E*C_\K/RS_B"OAE_T ?\
ME6M_\L/@'_AP/_U=C_Y8G_W=7T7^P'^P'_PPW_PEG_%V/^$H_P"$H^P?\P'[
M%]F^S?:/^F\N_=]H_P!G&SOGCZ+HKS,Y\2^-N(,MJ8#'XOGHSMS1]G3C?EDI
M+6,$U9I/1_@>KDGA?P+P[F=/,,OPG)6A?EE[2K*W-%Q>DIM.Z;6J_$****^$
M/O@HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "O"_P!K#_DMGP/_ .Q[E_\ 29J]TKPO]K#_ )+9\#_^
MQ[E_])FH ]THHHH **** "BBB@ HHHH ^=/^"LG_ "C^\?\ _<*_].MG7XQ6
MEI<W]U%8V<+2332+'%&@R78G  ]R:_9W_@K)_P H_O'_ /W"O_3K9U^7O[(?
MPW_X23QE)XWU&WS::-CR-PX>Y8?+_P!\C+>Q*U_07"'B#E?A9X&9OQ/C]8X:
MI-QC>W/4=.C&G37G.;C&_1-O9,_F3Q'X*S#Q#\:LJX?P>DJ]*"E+?D@JE9U)
MO_#!.7FU;=GJK_ /3C\!O^%7*D?VT0?:!<?]/OWMV?3/R9_NU\G75M<65S)9
MW<+1RQ.4EC<8*L#@@^X-??->#?M"_"WX1:!XC/C?Q=>Z[:KK$IW+I4$3QB8
M;B=W(+?>QW.XU_('T-OI+9C@>+<TR+B5UL3+,JL\32]G"52?UEZUHQA'6U2"
MYK+2/LM%[Q^^?2B\!L%B^&LOS?(52H+ 4XX>I[2:IP]@M*4G)Z7A)\NNLO:?
MW3]'O^"3?_*/[P!_W%?_ $ZWE>^Z[XH\->%[?[7XE\16.G18SYM]=I"N/JY
MKX&_8]_9P^-/Q,_9Q\-:Q\)_BSK=OX)F-VNE:3J7B.:T7 O)UE+QVR]#,)#U
MS@Y[UZ?9?L$>/].NO[03P3\-;NY(_>7&J:EJ=V9&_O$3HZY_#'M7I<;<<<68
MSC7,OJ61U5!XBM:567LW9U)6O!1DT^\92BULRN$LJQ^&X2R^C&K0:C0I+F]J
MVG:G%7CR0E=/=:JZ/:?$_P"VA^RWX2+)J?QIT>9E.-NF.]Z2?0?9U>L0?ML>
M'=<&WX:_!+XB>)]W^KN-/\,/';^VZ25EVCWQ6!X>^!'[5GA# \&WGPQT38/E
M_LG2$A/Z6-;L/@']N*1O])^.'AV(8_Y9:?&W/IS:"OG/KWB%BE>5&4%VITJ'
M-_X%6QEO_*:_R]O^SL3-VJ8^E#_#3K/\>1K_ ,E'?\+=_;$\4\>$OV6=/T6)
MO]7=^*/%D39^L, WK],TG_"$_MV>*O\ D._&SP7X55NH\-^''O64?6[(YJW'
M\,OVNKA$6\_:/T^'C+F+PY ^#Z#Y$S_GBHY?@;^TY>1@7/[6[1DYW+#X10?D
MRW"_RJ/J.?8A_P"UT<=/UKX2DO\ RVK0?XW[LMY%@I+]YF//Z*K#\J5/\R'_
M (9$\3>(?F^)?[5'Q#U;/^LM]-U)-.MY/4&.)3Q[9J[HO["G[+VDW/\ :%W\
M-AJMV?\ 676M:C<73/\ 42.5_2LN3]F?]H:<YN/VP]3]#Y6B2IQ^%YP?>EB_
M98^,AR;K]KGQ*Q[>5'.G_MT:WAP[@N93EDL:DEUK5(5)?^!3=1_.Y$<BR",K
MSDI/NXN3_P#)V>I^&/A=\,_!(7_A#OAYH>E%?NMIVE0PG\T4'/O6[7BDG[)7
MC&[+_P!H?M0^-7W8QLNV&,?[SMFF-^Q1:71SJ/[0_P 0Y.Y\O5+8?-_P*!N/
MU]Z^AP]7B##TU##X"E"/;VSBONC1DCOCA\GHKEC4G;^[3C^M1'MU!(4%F(
MY)KPA_V!? L[!KSXR>/I^26\[4+$[CZG_1*(O^"?7PD7'VCQOXMGQU,MY:#=
M]=ML/TQ73[7B^7PX?#+UQ-;],%(.;)T]95OE2I?KB$>W3:QI%OG[1JEM'@9.
M^=1Q^)JK-XU\&VV?M'BW3(\==]_&,?FU>1Q_\$__ ($@8N+[Q'-SU;62N1Z?
M(J_XU.G[ G[-^&\_1M<EW8Y/BF]7'TV2K33XM?Q0PR]*M67YT("<LK^RJK]8
MTX_E4F>E3_%3X86O%U\1]!CYQ^\UB <_BU59?C=\&H?O_%CPW_P'6X#_ ">N
M&7]@O]EQ26'@;5>>N?&FKG_VZXJQ%^PY^S#$0?\ A7MT^!@";Q+J,G_H5P>?
M>JY.)I?;HQ_[<G+_ -OB3[3!)_PY/_M]+_W&SIY?VA_@=",O\4]%/&?DO5;^
M55)OVG_@'!DO\3; X&?D61OY*:RH?V*?V7(=O_%H+&3:,#S[F>3CWWR'/XU/
M%^QM^RM$ #\ _#$FWIY^F))GZ[\Y_&FL+Q)+_F,HQ_[EIR_]VHDO$81?\PTG
M_P!QTO\ W79XW_P42^+WPX^-?['WC#X6_##Q1%JNO:G_ &?]AL$ADC\WR]0M
MIG^>1508CC=N6'3 Y(%?G+\)OV7?'2^.[&]\?:'%;Z;:2>?<(;R*0R,O*QE4
M8]3C.>, U^A?_!3;]G+]G[P!^PWXX\4^"/@AX2TG5+8Z:;;4]/\ #UM%<P[M
M2M$;9*J!URC,IP>0Q'<U\G?LW_#?_A7GPYM_MMOLU#4\75[D?,N1\D9_W5[>
MI:NWCOQ/XY\)/ K%5,)FN'Y\;7J8>G36#J0KWE1A[6K"K]?G&"IP:LW1FU4<
M=N96^,ROP_X8\2?&G"T\?EU:V$H0K3G]9A*C:-6I[.G.F\)&4G.:=TJL4X*7
M\KOW]?-/Q9_9Z\,^'O&-UJ.H?$C2M$T^_F:>RMKB*1I%!P64*HP0&) P>F*^
MEJ\^_:3^&_\ PL+X<SR65OOU#2LW5E@?,P ^>,?[R]NY5:_CSZ+_ (FYIX>>
M)M##0S&>"PF/<:%>I"-*?*F_W<[5H3IKDFU>3B^6G*=C^A?I \ Y?QMP#6KS
MP,<7B<&I5J,)2J1YK+WX7I2A/WH)VBI+FG&!Z]^R+_P4 \%_ #]GGP_\#?"L
M']O-H9NQ_:RZ1J)6<S7<UP<1Q0-C;YVW[YSMSQG [Z7_ (*/?%_6Y"FC?"_Q
M"Z$X0Z%\-=2N7;V_?% 3GCMS7I7_  2;_P"4?W@#_N*_^G6\KZ+K^Z>*.'\D
MH\3XZGC\1C<34C6JJ4I8FE2YI*<KRY<-A*/+S.[LGI>R9_/'"N.X@Q'"N J8
M/ZKAZ<J-)QA'#U)\D7"+C'FK8FJY<JLKM7=KL^)Q^UG^T=XB&%^%?[0#JW1+
M/X/VUDA]UE><L1U[<?C2_P#"POC[KPWS_LR?M!ZF#UBO_$MKI\9^J<XXQW]J
M^UZ*\/\ L#P^?\3*Y5O^OV+Q=7\'62^Y)'N^WXU>V:^S_P"O>&PT/_<<G^)\
M50Z3\=+^03P?\$M]8U.7_GX\0_&:UC(]RIZ\]L<BMW2],_:Z@P=$_P"";WPX
MTP_PMJ_C6VNV7\5C)_+U%?7%%=6&R_@' RYL+PY@H/OR56_FW6=S&K1XMQ*M
M7S[%R7:]!+\*"_,^:=.N_P#@IE ,>&_@E\$-#4]%N-4OGVCT/D*/I5O^RO\
M@JYJ)Q>>*_@1IP/>PL=7F(_[^G\?PKZ+HKWZ?$5&A#EH8##P794[K_R:4CS9
M<-5*LKUL?B9/_KXE_P"DQB?.G_"K?^"F&I?\?O[4_@'3<]?[.\#M-CZ>:W/_
M ->C_AG'_@H!J!W:G_P47BM5/WH=/^$^G?7AW?/!_,5]%T5?^MF81^"CAX_]
MRU!_^E4Y"_U0RZ7QU\1+_N:Q"_\ 2:D3YT_X8\_:?OO^0]_P43\:R9Z_V?X>
MLK7_ -!S[_IZ4?\ #!'C6_\ ^0_^WM\;Y,_>_L[Q3':?EMB../\ &OHNBC_7
M#/E\,H1_PT:,?_2::#_4SA]_%"<O\5:M+_TJHSYT_P"';O@JZ_Y#_P"T]\;M
M6S][^T?B-(V[Z[8U[\_44?\ #KK]E^Z&->NO&NJ^O]H>-[UL_P#?+K[_ )FO
MHNBC_73BI?#C)Q_POE_])L+_ %(X2?Q8.$O\2YO_ $JY\\VG_!*G]@RVD\^7
MX%_:9<C,EWXDU*0G'3(:XQ^E;6G?\$Y/V(-+Q]F_9QT!L=/M"RS?^C'->V45
ME4XOXLK*T\PKOUJU/_DC:EP;PA1_AY=07I1IK_VT\PT_]B?]C_3 !;?LP^ V
MQ_S\>%K67_T-#6[I_P"SI^SYI!!TKX$^#;4@\&W\,6B8YSVC'>NRHKSZN<YQ
M7_B8FI+UG)_FST:629-0_AX:G'TA%?DC\VO^"[GA;PSX83X51>&_#MAIZR#7
M/,6QLTB#8_L_&=@&<9./J:_/BOVA_;\_8#_X;D_X1/\ XNQ_PB__  B_V_\
MY@/VW[3]I^S_ /3>+9M^S_[6=_;'/SI_PX'_ .KL?_+$_P#NZOZ@\-_$[@S(
M^"\+@<RQG+6AS\R<*LK7J3DM8P:?NM/1OMN?RKXF^%G&^?<;XO'99@^>A/V?
M*U.E&_+2A%Z2G%KWDUJEWV/SIHK]"M#_ ."#O]LVC77_  U3Y>V9X]O_  @V
M<[3C/_'\*N?\.!_^KL?_ "Q/_NZON/\ B,GAO_T'?^4JW_RL^#_X@KXF_P#0
M!_Y5H_\ RP_1:@@,"K#(/4&BBOX5/[Y*LFB:+*ACETBU96&&5K=2"/RJM+X)
M\&3QF*?PCI;H>JO81D'\-M:=%:*M6CM)_>92HT9;Q3^1A3?"_P"&ERGE7'P[
MT*1<YVOI$)'ZK5:X^"OP;NU"77PE\,R@'($F@V[ '\4KIJ*VCC<9'X:DE\W_
M )F4L#@I;THO_MU?Y''W'[/7P"N\?:O@?X/EV_=\SPS:MC\XZK7'[,'[-5VP
M>Z_9X\#2D# ,GA*S;'YQ5W-%:QS7,X_#7FO^WI?YF,LIRN7Q4(/_ +=C_D>>
M3_LC?LHW+^9<_LQ?#R1L8W/X+L2?UBJM+^Q?^R%-(97_ &7_   ">H3PC9J/
MR$>*],HK6.>9U';$U%_V_+_,RED.1R^+"TW_ -N1_P CRF3]AC]CB5S(W[,G
M@H$G)V^'X /R"X%5F_8"_8N<DG]FKPGSUQIBC^5>OT5JN(^(8[8RK_X,G_F8
MOAKAR6^"I?\ @N'^1XL__!.O]B-U*']F_P .X(P<1.#^8;BJLO\ P34_88EC
M,;_LZ:. >I6XN5/YB7(KW.BMH\5\41VQ]9?]Q9__ "1B^$N%);X"A_X*I_\
MR)X'/_P2^_8.N(_+D_9ZL #W35;Y3^8G!JK/_P $I_V!+A DG[/\0 .?W?B+
M4U/YK<BOH:BM8\9<7QVS&NO^XU3_ .2,I<%<&RWRW#O_ +@T_P#Y$^=/^'3_
M .P;%_QX_!:XM2?O&W\6:H-WUS<FC_AU7^QA%Q8>!];M0?O+;^,=1 ;W.9S7
MT715_P"NW&/7,:[]:LW^<C/_ %&X+Z9;07I2@ORB?D5^U-XT^'O[&G[3WC3X
M,?#CX;7,]C:W%A*+F\\0222MYFGVTFTM(CL0&=L98XW'&!@#AO\ AN3_ *I?
M_P"5O_[35W_@K)_RD!\?_P#<*_\ 359U\Z5^T4?HL^!7'V#H<1<095+$8W%4
MJ52K5EBL9S3FZ<;MJ.(45V2BDDDDDDK'\W9C](3Q=X*S7%9%DF81H83#5JM.
ME3CA\-:$%4E9*]%M^;;;;U;;/?O^&Y/^J7_^5O\ ^TUZ)^QY\2?AU^U?^UMX
M$^&'Q+^#5G=V#W.H3-%?7HN(GV:;=.%:,Q ,-R(V,]44]L5\>U]%_P#!)O\
MY2 ^ /\ N*_^FJ\I8CZ+'@3P'@<1Q!D&52P^,PU*K.E4CBL9>$E2GK:6(<7H
MVFFFFFTTTQY9](;Q>XRS?"9)G68QKX7$5J,*E.6'PUI1=6&CM137=---/5-,
M_670OV6?V9?#&T^'OV>/!%FR])+?PK:*_P"+"/)_.NPTCP[X?\/Q>1H.A6=D
MF,;+2U2(8],*!5RBOY[Q&.QN+_CU93_Q2;_-G]7X? 8'"?P*48?X8I?D@HHH
MKE.L**** "BBB@ HHHH **** "BBB@ HHHH **** "LWQC_R+%[_ -<#6E6;
MXQ_Y%B]_ZX&@"YIW_(/@_P"N*_R%35#IW_(/@_ZXK_(5-0 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 5C^)?^0OH_P#U^G_T$UL5C^)?
M^0OH_P#U^G_T$T ;%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7A?[6'_);/@?\ ]CW+
M_P"DS5[I7A?[6'_);/@?_P!CW+_Z3-0![I1110 4444 %%%% !1110!\\?\
M!5FTN;_]@CQU8V<+2332:3'%&@R78ZM9@ >Y-?&?PF\!6WPV\!V/A:(*9HX_
M,O)%_P"6D[<N?<9X'L!7Z>>.O GA/XE^&+CP9XWT=;_3+J2&2>U:5T#-%*DL
M9W(0P*R(C<'JM<5_PQY^SG_T3O\ \J]Y_P#'J_-O&#).../N$,+PQE5:E3PE
M.M/$5.>4TZE1PA3IJT:<ERTXJ;5WJY[>ZF>WP.^&N&^+J_$>-A.>(E1A0ARJ
M+4(*<ZDW=R6LW**VT4-_>9\-US7Q<\ 6_P 2O 5]X7=5$[IYEC(W\$Z\H?8'
M[I]F-?>^N?LF?L_6>HZ;!;> -J7%R4E7^U;L[AMSCF7BM+_ACS]G/_HG?_E7
MO/\ X]7X)P]X%>)W"V?87.,MQF'IXC#5(5*<E.KI.$E*/_+G576JV:NGH?J.
M=\>\&\0Y/B,KQ^'JSHUX2ISCRPUC)-/[>CL]'T>J.#_X)26UQ9?L#^!;.[A:
M.6)]626-Q@JPU:\!!]P:^B*R/ G@+PE\,_"\'@SP/HZV&F6TDTD%JLKN%:65
MYI#N<EB6DD=N3U:M>O[3S3,JV<YG7Q]:"A.M.51Q3;47.3DTFTFTF[)M)M=$
M?@.399#)<GPV7PDY1HTX4U)JS:A%13:ULW:]KNP4445P'I!1110 4444 %%%
M% !1110 4444 %%%% !1110!Y/\ MP_#OQ?\5?V8?$7@;P'X(_X235KJXTV6
MTT3^T8;077DZA;3LIEF(10$C9CD\A2!R17QI_P ,_P#_  4!_P"C,O\ S(NE
M?_'*_2.BO+S?AK@OB:C3AG^5T\8Z3DX.I5Q<.7GY>9*-#$T8:\D;MQ<G9)R:
M44IHXGB++L3.ME68U,+SJ*DJ=/#2YN5R<6W6P]6>G.[)245>ZBFVW^:R? _]
MO:2^?34_8WS-&@=T_P"%AZ7P#T.=^*F_X9__ ."@/_1F7_F1=*_^.5^A=E_R
M.][_ ->47\S6Q7A?\0M\&?\ HFL/_P"#\Q_^;CL_UA\1O^B@Q'_@K ?_ #&>
M3?L-_#GQ?\)_V8/#G@3QYX)_X1S5;2XU*6ZT3^T(;H6GG:C<SHHEA)1@4D4C
M!X! /(->LT45]M7J*M6E42MS-NUY2M=[<TY2G+UG*4GO*3=V>;A,.L)A:=!.
MZA%1O:*O96O:$8P7I&,8K:,4K(****R.@**** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@#'\#_ /((E_Z_9O\ T*MBL?P/_P @B7_K]F_]"K8H ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** ,?P/\ \@B7
M_K]F_P#0JV*Q_ __ "")?^OV;_T*MB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ K-\8_P#(L7O_ %P-:59OC'_D6+W_ *X&@"YIW_(/
M@_ZXK_(5-4.G?\@^#_KBO\A4U !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !6/XE_Y"^C_P#7Z?\ T$UL5C^)?^0OH_\ U^G_ -!- &Q1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 5X7^UA_R6SX'_P#8]R_^DS5[I7A?[6'_ "6S
MX'_]CW+_ .DS4 >Z4444 %%%% !1110 4444 %%%% &/XE_Y"^C_ /7Z?_03
M6Q6/XE_Y"^C_ /7Z?_036Q0 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 8]E_P CO>_]>47\S6Q6/9?\CO>_]>47\S6Q0 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8_@?_ )!$O_7[
M-_Z%6Q6/X'_Y!$O_ %^S?^A5L4 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% &/X'_P"01+_U^S?^A5L5C^!_^01+_P!?LW_H5;%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6;XQ_Y%B]_Z
MX&M*LWQC_P BQ>_]<#0!<T[_ )!\'_7%?Y"IJAT[_D'P?]<5_D*FH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *Q_$O_ "%]'_Z_3_Z"
M:V*Q_$O_ "%]'_Z_3_Z": -BBBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH \S_:T_:R^$W[&/PA?XP?%R
M:_FAGU6TTC0=#T6V%QJ6O:M=RB*TTZRA+*);B:0[54LJ@!G9E168<G\,/VX;
M;5_VA;#]D_X__"'5/AGX_P!?\.S:]X/TS5=6M+ZU\0V4#!;I+6ZMG*M=6VY#
M-;L RI(LB&5-SK\F?\%G;_4->_X*L?\ !.GX2WUZ?["U#XK^(]?N[)N5DOM,
MMM/>SD(SC*&>;!ZC><5'_P %W=>U/P+^W'_P3W\?>%6:+65_:8@T1+B(X<:?
MJ36EK?1\<[7A.&[8'- 'Z7T444 %>%_M8?\ );/@?_V/<O\ Z3-72?%;PI^U
MGJ_BY[SX/_%?POI&BF! EEJVA/<3"0#YV+@C@GH*\L^*W[-7[=_Q&_LO7?\
MA?7@1=;\-W3WGARZ?PY,B6UT4*;V +!Q@]&5A[4 ?4=%?'/_  I?_@M;_P!'
MD?"S_P )'_[FH_X4O_P6M_Z/(^%G_A(__<U 'V-17QS_ ,*7_P""UO\ T>1\
M+/\ PD?_ +FH_P"%+_\ !:W_ */(^%G_ (2/_P!S4 ?8U%?'/_"E_P#@M;_T
M>1\+/_"1_P#N:C_A2_\ P6M_Z/(^%G_A(_\ W-0!]C45\<_\*7_X+6_]'D?"
MS_PD?_N:C_A2_P#P6M_Z/(^%G_A(_P#W-0!]C45\<_\ "E_^"UO_ $>1\+/_
M  D?_N:C_A2__!:W_H\CX6?^$C_]S4 ?5WB7_D+Z/_U^G_T$UL5\!?%/1_\
M@L/X"\9^"O#6N_M:?#FXN?$^N-8Z9+:^$EV0RB,N6DW6X.W QQDYKM_^%+_\
M%K?^CR/A9_X2/_W-0!]C45\<_P#"E_\ @M;_ -'D?"S_ ,)'_P"YJ/\ A2__
M  6M_P"CR/A9_P"$C_\ <U 'V-17QS_PI?\ X+6_]'D?"S_PD?\ [FH_X4O_
M ,%K?^CR/A9_X2/_ -S4 ?8U%?'/_"E_^"UO_1Y'PL_\)'_[FH_X4O\ \%K?
M^CR/A9_X2/\ ]S4 ?8U%?'/_  I?_@M;_P!'D?"S_P )'_[FH_X4O_P6M_Z/
M(^%G_A(__<U 'V-17QS_ ,*7_P""UO\ T>1\+/\ PD?_ +FH_P"%+_\ !:W_
M */(^%G_ (2/_P!S4 ?8U%?'/_"E_P#@M;_T>1\+/_"1_P#N:C_A2_\ P6M_
MZ/(^%G_A(_\ W-0!]C45\<_\*7_X+6_]'D?"S_PD?_N:C_A2_P#P6M_Z/(^%
MG_A(_P#W-0!]C45\<_\ "E_^"UO_ $>1\+/_  D?_N:C_A2__!:W_H\CX6?^
M$C_]S4 ?8U%?'/\ PI?_ (+6_P#1Y'PL_P#"1_\ N:C_ (4O_P %K?\ H\CX
M6?\ A(__ '-0!]C45\<_\*7_ ."UO_1Y'PL_\)'_ .YJ/^%+_P#!:W_H\CX6
M?^$C_P#<U 'U=9?\CO>_]>47\S6Q7P%H6C_\%A]5^/>O?"6U_:T^'*:MI.AV
MM]=W;^$E\B2*5B%5<6^[<,<Y %=O_P *7_X+6_\ 1Y'PL_\ "1_^YJ /L:BO
MCG_A2_\ P6M_Z/(^%G_A(_\ W-1_PI?_ (+6_P#1Y'PL_P#"1_\ N:@#[&HK
MXY_X4O\ \%K?^CR/A9_X2/\ ]S4?\*7_ ."UO_1Y'PL_\)'_ .YJ /L:BOCG
M_A2__!:W_H\CX6?^$C_]S4?\*7_X+6_]'D?"S_PD?_N:@#[&HKXY_P"%+_\
M!:W_ */(^%G_ (2/_P!S4?\ "E_^"UO_ $>1\+/_  D?_N:@#[&HKXY_X4O_
M ,%K?^CR/A9_X2/_ -S4?\*7_P""UO\ T>1\+/\ PD?_ +FH ^QJ*^.?^%+_
M /!:W_H\CX6?^$C_ /<U'_"E_P#@M;_T>1\+/_"1_P#N:@#[&HKXY_X4O_P6
MM_Z/(^%G_A(__<U'_"E_^"UO_1Y'PL_\)'_[FH ^QJ*^.?\ A2__  6M_P"C
MR/A9_P"$C_\ <U'_  I?_@M;_P!'D?"S_P )'_[FH ^QJ*^.?^%+_P#!:W_H
M\CX6?^$C_P#<U'_"E_\ @M;_ -'D?"S_ ,)'_P"YJ /L:BOCG_A2_P#P6M_Z
M/(^%G_A(_P#W-1_PI?\ X+6_]'D?"S_PD?\ [FH ^KO _P#R")?^OV;_ -"K
M8KX"^ >C_P#!8?XN>#+OQ+X3_:T^'-I;6^N7EC)%?^$EWF6&0H[#;;D;2>1W
MQ7;_ /"E_P#@M;_T>1\+/_"1_P#N:@#[&HKXY_X4O_P6M_Z/(^%G_A(__<U'
M_"E_^"UO_1Y'PL_\)'_[FH ^QJ*^.?\ A2__  6M_P"CR/A9_P"$C_\ <U'_
M  I?_@M;_P!'D?"S_P )'_[FH ^QJ*^.?^%+_P#!:W_H\CX6?^$C_P#<U'_"
ME_\ @M;_ -'D?"S_ ,)'_P"YJ /L:BOCG_A2_P#P6M_Z/(^%G_A(_P#W-1_P
MI?\ X+6_]'D?"S_PD?\ [FH ^QJ*^.?^%+_\%K?^CR/A9_X2/_W-1_PI?_@M
M;_T>1\+/_"1_^YJ /L:BOCG_ (4O_P %K?\ H\CX6?\ A(__ '-1_P *7_X+
M6_\ 1Y'PL_\ "1_^YJ /L:BOCG_A2_\ P6M_Z/(^%G_A(_\ W-1_PI?_ (+6
M_P#1Y'PL_P#"1_\ N:@#[&HKXY_X4O\ \%K?^CR/A9_X2/\ ]S4?\*7_ ."U
MO_1Y'PL_\)'_ .YJ /L:BOCG_A2__!:W_H\CX6?^$C_]S4?\*7_X+6_]'D?"
MS_PD?_N:@#[&HKXY_P"%+_\ !:W_ */(^%G_ (2/_P!S4?\ "E_^"UO_ $>1
M\+/_  D?_N:@#ZN\#_\ ((E_Z_9O_0JV*^ O@'H__!8?XN>#+OQ+X3_:T^'-
MI;6^N7EC)%?^$EWF6&0H[#;;D;2>1WQ7;_\ "E_^"UO_ $>1\+/_  D?_N:@
M#[&HKXY_X4O_ ,%K?^CR/A9_X2/_ -S4?\*7_P""UO\ T>1\+/\ PD?_ +FH
M ^QJ*^.?^%+_ /!:W_H\CX6?^$C_ /<U'_"E_P#@M;_T>1\+/_"1_P#N:@#[
M&HKXY_X4O_P6M_Z/(^%G_A(__<U'_"E_^"UO_1Y'PL_\)'_[FH ^QJ*^.?\
MA2__  6M_P"CR/A9_P"$C_\ <U'_  I?_@M;_P!'D?"S_P )'_[FH ^QJ*^.
M?^%+_P#!:W_H\CX6?^$C_P#<U'_"E_\ @M;_ -'D?"S_ ,)'_P"YJ /L:BOC
MG_A2_P#P6M_Z/(^%G_A(_P#W-1_PI?\ X+6_]'D?"S_PD?\ [FH ^QJ*^.?^
M%+_\%K?^CR/A9_X2/_W-1_PI?_@M;_T>1\+/_"1_^YJ /L:BOCG_ (4O_P %
MK?\ H\CX6?\ A(__ '-1_P *7_X+6_\ 1Y'PL_\ "1_^YJ /L:BOCG_A2_\
MP6M_Z/(^%G_A(_\ W-1_PI?_ (+6_P#1Y'PL_P#"1_\ N:@#[&K-\8_\BQ>_
M]<#7R7_PI?\ X+6_]'D?"S_PD?\ [FKEOC;X3_X+(?"_X4:[\0/$W[7/PVNK
M#2K$SW5O9>$AYLB@@87=;@9Y[F@#[IT[_D'P?]<5_D*FKXK\,_"O_@M)KGAO
M3]:LOVP_A>D-Y8Q3PI+X1^95= P!Q;8S@U>_X4O_ ,%K?^CR/A9_X2/_ -S4
M ?8U%?'/_"E_^"UO_1Y'PL_\)'_[FH_X4O\ \%K?^CR/A9_X2/\ ]S4 ?8U%
M?'/_  I?_@M;_P!'D?"S_P )'_[FH_X4O_P6M_Z/(^%G_A(__<U 'V-17QS_
M ,*7_P""UO\ T>1\+/\ PD?_ +FH_P"%+_\ !:W_ */(^%G_ (2/_P!S4 ?8
MU%?'/_"E_P#@M;_T>1\+/_"1_P#N:C_A2_\ P6M_Z/(^%G_A(_\ W-0!]C45
M\<_\*7_X+6_]'D?"S_PD?_N:C_A2_P#P6M_Z/(^%G_A(_P#W-0!]C45\<_\
M"E_^"UO_ $>1\+/_  D?_N:C_A2__!:W_H\CX6?^$C_]S4 ?8U%?'/\ PI?_
M (+6_P#1Y'PL_P#"1_\ N:C_ (4O_P %K?\ H\CX6?\ A(__ '-0!]C45\<_
M\*7_ ."UO_1Y'PL_\)'_ .YJ/^%+_P#!:W_H\CX6?^$C_P#<U 'V-17QS_PI
M?_@M;_T>1\+/_"1_^YJ/^%+_ /!:W_H\CX6?^$C_ /<U 'V-6/XE_P"0OH__
M %^G_P!!-?*/_"E_^"UO_1Y'PL_\)'_[FKB/BGH__!8?P%XS\%>&M=_:T^'-
MQ<^)]<:QTR6U\)+LAE$9<M)NMP=N!CC)S0!]^T5\<_\ "E_^"UO_ $>1\+/_
M  D?_N:C_A2__!:W_H\CX6?^$C_]S4 ?8U%?'/\ PI?_ (+6_P#1Y'PL_P#"
M1_\ N:C_ (4O_P %K?\ H\CX6?\ A(__ '-0!]C45\<_\*7_ ."UO_1Y'PL_
M\)'_ .YJ/^%+_P#!:W_H\CX6?^$C_P#<U 'V-17QS_PI?_@M;_T>1\+/_"1_
M^YJ/^%+_ /!:W_H\CX6?^$C_ /<U 'V-17QS_P *7_X+6_\ 1Y'PL_\ "1_^
MYJ/^%+_\%K?^CR/A9_X2/_W-0!]C45\M_"7X4?\ !631_B7HFJ?&']J;X=:M
MX7@U!'UW3--\,&*XN;8'YTC?R%VL1T.1BOJ2@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** /DO_ (*J_L4_$3]I*U^$O[1O[/VGVM[\3_@!\2K3
MQ?X6T>\NTMTU^S#*NHZ/Y[D) US"JA)'(021(&*JS.O+^/OV<OBE_P %"?V_
M_@A^TA\2_@OXA\ ?#3]GQ-4UK3-,\9/:+J/B3Q->)#%!MM[6XG$5M9+$9/-=
MU,DS!41XP9#]N44 %%%% !1110 4444 %%%% !1110 4444 %%%% 'D'[1_@
M7Q=XL^+'PDUOPYH,]W::'XPDNM6GA *VL)@90[<],\5Z_110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 >0>#? OBZP_;3\:?$"
M\T&>/1=0\'Z=:V6HL!Y<LT;L70<]0#7K]%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110!Y!^Q3X%\7?#[X3ZEHGC309].NYO&&J
M74<%P &:&2<LC\'H1R*]?HHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** /(/V*? OB[X??"?4M$\::#/IUW-XPU2ZC@N  S0R3E
MD?@]".17K]%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !7G'[7?A3Q'XY_9I\8^$?".D2W^I7^CM%9V< !>5]RG:,]^*]'HH Q_A]8W
M>E^ =#TS4+=HI[?1[:*>)^J.L2AE/N""*V*** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "O(/VC_ OB[Q9\6/A)K?AS09[NTT/QA)=:
MM/" 5M83 RAVYZ9XKU^B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH *^+O^"D7[<?[67[*/[57[-?PK^'/A+P2O@7XP?&*P\*>(-:OKBXN=56*3
M8[I%#LCAM]R^:OF%YCA00$)X^T:_/'_@N'_R<_\ L'?]G8:5_P"B7H ^P_VK
M?B+\<?A_\+TMOV9_AWIWB7Q_XAU2+2?"MKK\\L.DV<\BO(][J$L0+I:P0Q32
ML$&^5D2%"'E4CX=?]MK_ (*P_L ?MN_!_P""O_!1:Y^%WQ'^&7QY\4KX7T'Q
MC\-]#N=,N_#FNRX^SV\L,TC"2!V8 $Y8J'?>#'Y<GZ6U\D>*_AG8_P#!07]M
MSP+\4Y(!-\*/V=-=OK[2+YES%XI\:F-K7? ?X[73$,ZF4</>2F,'_19,@'K7
M[<7Q5\<_"O\ 9ZOU^$FK+8^./%>J:?X5\"WAMHY_LFJZG=1V<-YY4BLDJVPE
M>[=64J8[5]P(R#YC^UWI'_!73QU?ZQ%^PWX\^%_@?3?#5JJ:2_Q"T"74[[QC
M>+$'<EH)8X=.M2S"(-Y<DK.COMC39NZKQ]&OQJ_X*&>"O 0)ETCX,^$[CQGJ
MR#E?[;U47&E:5GME+./7F9>H,T#<9&>A_;D^#7[37Q\_9YU[X6?LJ_M+6GPI
M\2ZOI\UNGBN7PQ_:4T0="NV$^?']F8Y(\X*[ID,@#*,@''_\$DOVV_&?_!1#
M]@#P%^UE\1OAQ%X6U_Q##>6^LZ5:;S:FYM+R:TDFM]Y+>3(T!=0Q8KN*[GV[
MVX;X4?MM?M6Z_P#\%H?%G[ 'Q8\(^"M+\$Z1\"!XW\/R>'Y[FZO;J275K>R1
MKBXF6)1M N!Y<<0 W#+O@8RO^"!G[07Q@^+7[&&L_ _]H#X;Z#X:\9_L_?$3
M4OA9KT'A73TM=,NI-+BMRD]O%&JQQJ8YT4A JDH7545PHY[P[_RM!>(_^S(+
M/_U*S0!]H?'_ .,7A[]GKX&^+_CKXKADFT_PAX;O-7N;> 9DN!!"T@AC !+2
M.5"*H!)9@ "3BO#OVC?C+^VM^R=_P2VU?X^_9?!WBSXJ^ OA-<^(_&L_BB:2
MTL'O+/3VN[T106,7[U0T<L<<8>$$!-TN<D[_ .VB9/BG\2_A!^R39J)(?%GC
M-?%'BV+^[H'A]X;]\CNLFIMHMLZGAH[N0'(X+O\ @K%_RBR_:6_[-_\ &7_I
MCO* -_\ X)\?&[QM^TM^PI\'OVAOB4;0^(?''PUT77=;^P6_E0?:KJRBFE\M
M,G8F]S@9.!CDU\Z?M ?M-?\ !4G]H/\ :2\7_"W_ ()/^)OV:5\/_#*ZCT/Q
MM/\ &/4-6DU"YUPQI/.MM#I@;;;0I-!"SR $W"SH/]4:]<_X(\?\HH/V;?\
MLA_AC_TV6]?-7[?/_!OI^S5KVG>)/VO_ -@6;7/@S^T3H\E[XET#QOX7\37@
M35=4^>X>&]BFE=#'.^Y79 IS)EQ(@,; 'WQ\"K7XVV?P=\-V_P"TCJOAJ]\?
M#2(3XNN/!UM/#I1ORN95M%N&,ODJQ*JTF&8*&*J3M'65XA_P37_:.\9?M>?L
M"_"+]ICXBZ1'9:_XS\":?J6M0PQ>7&UTT0$LL:_PQR.&D1><*ZC)ZU[?0 44
M44 %%%% !1110 4444 %?&&H?MP_M7:/_P %L/#'[ 'BSPMX)L/AWKGP?U/Q
M?8W6DSW-WJ=U)#>?9HQ/+*D20@;"_E1QMCS,&5\5]GU^>/Q<_P"5GKX2?]FG
MZS_Z=Y* /IW]LOQI^V7MT'X.?L->'O"D/BWQ''=76H^-_'T-S+HWAK3[<PJ\
MC0V^'NKN5YT6"#<B$1S2.VV+:WS3^Q7^W=_P4"^&7_!1^Z_X):_\%,](\$:]
MK6N^!Y?%OPQ^)WP[L9K2UU:SAE*36]U;RL?+E7;(?EV[3%@B02))7W]K.LZ1
MX=TB[\0>(-5MK"PL+:2XOKZ\G6*&WA12SR2.Q"HBJ"2Q(  )-?+/[,WP9N?V
MBOVU=;_X*C>.=%ELM./@B/P5\$M+O;<QSC0#<&ZNM:GC;F.2^G*>2A =+2&(
ML%>=XT /3_VD/BCX[TCXM_"/X%?"O7CI^K>,_%TM]K]REK%,\'AO2X#<W[!9
M48!9IWT^P+@!D&H[D9756'RI_P %&_CM_P %I/V>O@WXQ_;O^#.J?!_2_ _@
M"VFU>?X/>(O#]U=:K?Z);MF6>YU*.X6..Z,0:7[/"@2,?)YLS+E_HGX%Q+\8
MOVW?BO\ 'R;]YIO@:SL_AMX4<_=\V-4U/6+B,]Q)<7-E:/Z/HY';)\\_X+/_
M +,_[<_[2G[+.JZ1^QU\>?#>@MHL*:OJ/@77O!$6HQ>,_LCBY&F3W$TC)'!*
M8D4Q>05EYCD;RY&  /I#X+_%?5?C9^SKX3^..B^#6TV^\7>"K#7;3P]K%TT1
MM9;JT2X6UGD6-BA5I C.(V(P2$/W:^:_^"8G[;W[3O[5/[2/[3WP?_:1\/\
MA'2S\&_B)9^'O#]GX0$\D7V=X)93))//AYI& 0D[(P.@0<Y]1_X)B?M<:O\
MMW?L"_"[]K/Q%X7@T74_&7AI;C5=-M-WD17<4LEO.8@Q)$32PNR DD(R@DD9
M/S3_ ,$=?^4BO_!0'_LN&E_^F]Z /J[]N7XJ>/OAC\!9=.^#NL"P\=>,]=T[
MPGX(O?LT4YL]0U&Y2W^VB*56CE%I"T]ZR.K*4M'!5A\I\,_X+E_MQ?M:?\$\
M_P!C"Z_:(_9H\*^"[X6>L:9IVJZGXJGN)9[5;NY6V$D-I$B1R,&>,[GE !8Y
MC8#!]2\6F3XT_P#!13POX-5!+HGP5\&3>*=1/5?[?UCS]-T[!Z;HK"'6BZ]0
M+Z!N PW?./\ P=*?\H=/&G_8X>%__3U:4 ?H=))'#&TLLBJBJ2S,<  =237R
M+^S_ /MG_&G_ (*/>./$&N_L<7^D^%?@=X7UFXT8?%C5=*-_?^--0@;9<?V+
M;LZPP6<+@H;Z<3B9PRQPX5I!:_X+J?$CQS\)O^"0WQ^\:_#B:>+5H_A_<6<<
M]L2)(8;IX[6>52.5*0S2L&'(VY'2OCOQ!^R7\</V0?\ @@CX%_:F_8R_;1^)
M/ASQC\+/@SI?C:RTPZO;GP]J%L+2/4+^RGTQ85MY8V66Y=9&5IF?:7D?)R ?
MK=IEI<6&FV]C=:G/>RPP)')>W2QB6X8* 9'$:H@9B,G:JKD\ # J>O-/V,/C
MQJ'[4G[(/PM_:5U;04TN[\?_  ]T;Q%=Z;$24M9;RRBN'C0GDHK2$*3R0 :]
M+H **** "BBB@ HHHH **** &737*6TCV4,<DPC)BCED**S8X!8!BHSU(!QZ
M'I7QW_P3^_;;_:E_:"_X*!?M6?LI_M&>%_!VD6GP0N/!\/AFV\(M<S"2/5K.
M_O&DGN+@(T[F-+896*)1M;"G.X_8]? '_!/#_E.O_P %%?\ ND7_ *C%S0![
M%^U[KW_!2WXF?$6;X/?L 7?P_P# ^G:)IL5QXE^)/Q)TFYOUN;R;<T>G:?:0
ME0QCC5))[B0E +B)$5G$FS@/^"2W_!0/]J/]H;XH_&;]B']O7X=>'M$^,_P'
MU;3H=>U3P=YHTG7]/OX7EL[V!)27C+1H'(. 5FC(5#N1/KCXN?%GP)\#?AWJ
M?Q2^)&L&RTC2H5:9HX6FFGD=A'%;P1("\\\LC)%%#&&>621$169@#XA_P3^_
M9;\6?#;Q-\4OVPOCAH":;\4/CWXEMM9\2:2LR2G0-*L[86FD:,TB$I++;6JY
MFD0E&N)IMI9 C$ Z/QY\:/B;/^UZ_P +_AI#=:CH_@/X57?B?QGH.GPVWGZQ
MJ%[.8-%L4EG $186&K.<.GS"W+L$)S\C_M>?M8_\%E/^"?OCGX=?M%?&K4/@
M_P".OA?XT^)6D^%/%'PS\%>';Z'5- &HS>5 UE?32[M0D5OE+O'&)'*@0(KE
MHOJ?_@GQ&OQ!\'^,_P!KJZ)DE^,OCB[US1YFY'_"/VRIIVC;#VCEL;.&]V]
M]_*>=Q)^5?\ @O18_P#!0C]G_0O#G_!2?X(_%SP?XG\"? ;7X/$>J_!/7?!*
M!+U#FU>_^VM+(\EQ"EQ(4*K#Y0+2)ET"N ?HA\1KCXCVO@R^E^$FCZ)?>(?)
M(TRW\1ZE-:V7F'@-+)##*^T==JIEL8RN=P^9O^")?[;7QF_X*%_\$_?#_P"U
M-\?-,T2R\2ZUXBUNVNK+P[:O#9V\=MJ,]O%'&LCNYPD:@LS$DY/>OJ#P1XIM
M/'/@O2/&UA:S00:QI=O?0P7"[9(TEC60*P[, P!'K7P)_P &M?\ RAT\%_\
M8X>*/_3U=T ?5W[1'Q2\?Z;\;_A!\ _A5K@L=1\6^)+O5O%%PMM%*\/AG2[?
MS+PA9%8#S;NXTNS+ !E6^9E97537B'[>_P"W%^U?^S5^WA^S-^S_ ."_"O@J
M/X??&3Q_/HNM:Q<3W-SJY2"V29D2(I'#;*Q<C=NF8B,'Y"V!Z?\ L]F3XQ?M
MD_%[]H*X42:7X3^Q_#?P?(>5;[(OV[5[B,_]-+V[BLW_ -K1AQQEOG+_ (+%
M?\I%?^"?W_9<-4_]-Z4 ?5_[;GC#]K?PO\%/[-_89\"^'=:^)NN:Q:Z?H$WC
M3SQH6E(6,MQ>Z@T!$H@2"*55$>6::2%0&W8KXG^*WQ[_ .#B+]G+QY\*M#^,
MOBS]D34K7XE?%/2O"%OI_@_0/$DVH8N/,FN;A%GEC39!:6]S.[%N!%T)(!_3
M>OD6X_XR5_X+)06X_?\ A[]F3X8F9\' 7Q7XE)1 ?[S0:3:.?4#51TW<@'UU
M1110 4444 %%%% !1110 4444 9OBZ?Q=;>&[N?P'I6FWNKK'_H-MJ]_):VS
MOD?ZR6.*5E &3PC9( XSD?*7_!%W]MS]H/\ ;Q_9Y\>_$W]I?1O#>G>(_#7Q
MGU[PHNG^%()4LK:WL!;HJ*TKL\IWO(3(Q&[/W5&%'U_7YX_\&W/_ ";!\</^
MSL/'/_HZWH [S]IC6O\ @M+\:?%GB?5_V"]4^$/P^\)>%K^XL/#\'Q,T>]O-
M4\8W=L3'<2-Y9$>GV;3+)%"V'DD$?G96.1*ZS_@C]_P4%\7?\%'?V17^+GQ3
M^&$?@WQWX5\7:CX0^(7AZU=FMK;6;$Q^=Y!9F;RV66-MK,Q1BR;GV[V]@_:<
M^/J_ /X?+?\ A[PS)XD\8Z[<_P!F> ?!MK*%GUW5G1FC@#'_ %4*!6EGG/RP
M012RMPG/E/[,GP4\&_\ !)O_ ()\ZYJ/CW7EUW4= L-:\=?$[Q!:0&-M>UN?
MS+Z_FB3J \G[F%,%MB1*<MU -"#XW?M*>.OB'\;-3^!.EV&O67A/4=)\%^!-
M"U9X[;3FUU81<ZGJMS<HAG:VB_M"V@DC0L=VESK&GF29/S_X0_:K_P""IG[)
MW_!3'X2?LA?MK>(/AO\ $_P/\>[+7/\ A&O$?P_\*W.CWGAN_P!,M!=S)+#)
M/,)+;8\:[F8N=^[<OEE)/K7]B'X.^)/@9^R[X4\%>/F1_%EW;3:WXXG0Y$^O
MZE<2:AJ;@]U-Y<W&W).%VC/%?#'[:6O?M]?L(_\ !5;X'_MA_$'XF^%OBC\)
M_BEXSL?A(OAN/P0EA>^!7U>X4QRV4GFS2/YLD*O-*7!E%M'$Z'; T8!]@_\
M!3C]H;]H/]D_]B3XB?M(_LY>#O"6LZUX(\*7VMSP^+[VY2W2"VA,KE8K=-T[
M;%;"&2$<#YZ[']BWXJ>*_CK^QS\)OC=X[>W;7/&/PST'7-9:TA\N(W=WI\%Q
M,43)VKOD;"Y.!@5YY_P6'_Y10?M)?]D/\3_^FRXK?_X)F,J?\$VOV?7=@ /@
M?X3))/ ']CVM %^3XI>/_%G[=<?P7\(:V+?PIX+^&YUCQU"MK$YO-2U.\\G2
M8!(REHQ'#I^J2NJ$$^=;%OE(#>)>&?VX_P!JR3_@MW+_ ,$[_B+X5\$:=X#;
M]G^X\?://H4]U=ZC<2'6(]/C^T3S+$B8\NX;RHXL#>N9'QQZ=_P3P$WC_P"&
MWB?]K/4DS<?&KQG=^)]+<_\ 0!1([#1-OHLFF6=I<E1P)+N4\EB3\X:S_P K
M5FD_]F(-_P"I?-0![I_P4#_;3\4_LZ_$WX'?LU?#>_T72/%'QX\>3>'].\6>
M)K1[BPT2"WM6N)Y/)62/S[J4^5;V\1=5,LX9MP0QO0T#]ICXX_!#_@HEX/\
MV$OBWXMM/'^E?$7X>:KXDT#Q-;Z)'8ZEHMQITT*3PWJ0-Y,MM,MPGE2JD3)(
MC(WF[PR<)_P7.^'GP!_:;^$?P]_84\=^%)]4^)?Q<\;&V^#5Y87QM+GPWJ5G
M;O<W.O\ G@%DALK8/))&H+3;TB&WS/-C\0_X)?\ CG]H/]BK_@I7JO[!7_!3
M/1?^$T^*_C_PO(_PB_:2>:6=_&?A_3(_,.D.LC-]CD@1)+B2*/;ODWR3>;)(
MEQ. ?JI1110 4444 %%%% !1110 4444 >2_MS_%OXV? 7]D_P >_&OX ^%O
M"^K^(/"7A/4=:BM?%VHW$%ILM+26X.1;QL\K'RPHCW1 [L^8N,'!_P""9W[1
MGCW]JO\ X)\_"?\ :<^+KV(\0^,O!-KJ^N'3;4PVZS2*6;RX\L54=ADGCJ:V
M?^"A/_)@OQP_[(_XF_\ 35<UY?\ \$+?^4/W[.W_ &2_3O\ T T >%_M5?';
M_@OMX1^#NO?MZ_!?0O@KIG@CP]I<WB&V^!OB'1[^;7[G0(HS,S7=X'14U$P
MR-;1!5C/[L/*Z_/]H?L1_M2^&OVVOV2?A]^UAX2T&XTJR\=^&;?5%TJZD#R6
M4KC$L!< !]DBN@< ;@H; SBN)_X*%>)/&/Q(^&6H?L._ 6]A_P"%A_%C0;K2
MS>M'YD7A;0IP;>^URY (PL4<CI;H>9[IHD'R+,\>=^T+X#T7]D'_ ()VZ9^R
M3^S0TNCW%[I&D_##X<.C;[BTGOFBTV.])XWO;Q22WTC'J+:1CGH0#-\!?%_]
MN#X^?L\2_$7]G6_\-'4/B/XVU>[\$>(_&6GB32?"OA*&8V]A<_9[4Q3:C+=0
MPQWD4;2#YK]R\PC@2)O/_P#@GY^UU_P4!L?^"@WQ*_X)J_M^Q^#?%6H^&/ 5
MEXU\(_$WP+H\NG6]_IL]T+7R+JV=W6.8R;]H4C_CWEYD&UJ^S/"_@#3?AM\+
MM-^%OPJAM-'L] T&'2O#D<UJT\%E%!"L,"F-70NB*JC:'4D#&X=:_.K]F/Q+
M^W1^Q+_P6VU']FG]K#XA^&_BIX=_:9\-W_B'PG\0].\(Q:1J&F3:+ H&E2)&
MS_Z+! V%C+R#?<B4,KRW 8 ]D_X+7?MQ_M8_L$? +P[\6_V=?"?@FYL=4\>:
M+H&M:IXDN+F:[M4O;EHF:WM(T2-B $Q(\Q +G]T=N3]HU^>/_!S9_P HZM!_
M[+AX/_\ 3@*^W?VA/C)H/[/'P*\8?';Q-;27%EX1\-WFK36D'^MNO(A:18(P
M 2TDC*(T4 EF=0 2<4 <3\#OBK\3OBU\;OC-J^G:G#<>#O"6K6?A3P=I4R1Q
M0W6J6EJ;C4[PW"QM+M:XO8K%@=RQMI<A6/+,7\:_X)Q?MP_M2?M+?MM_M5?L
MX?M'^&_!^DV_P3U_P[IWAJT\(F>56AOK>\N&EFN)]K3NR)!TCB5<$!.I/OG[
M%WP<\1? ?]F#PC\._',\4WB@6#ZGXUNH?N76O7\TE]JDZ\GY7OKFY<<GAAR>
MM?('_!*[_E,7_P %$?\ L</ 7_IENJ /9?B'^US\3?C%_P % ]1_X)U?LU>+
MM,\+W7@OP!!XK^)7C6_T<:A/:_:IA%8Z;96[ND8F=<SR3RB1$CV(J%I"\=7]
MB#]N/XH^,_VN/BY_P3D_:ICT>7XE_"N"RUG1_$_A^Q>TL_%WAN\1#!?+;/)(
M;>XA=TAN$#M'YC Q_*2J^<_&;]C_ /;*_9O_ ."NEY_P4Q_9'^'.G?$OPO\
M$KP!;>%?BI\/[GQ-!I6H6<UJ8_LNI6<MSB"152&-#$S*>9,9W@IY5_P3;OOB
MM^U7_P '!?[2W[8_B#P9IVCZ#\.?ACI_PKF&CZR=1M7U5KBSOI[<7)AB$L]N
MUM)',JJ5C=U4,ZE9& /U/HHHH **** "BBB@ HHHH **** /C3_@NG^V[^U=
M_P $\OV!O%'[57[,/A'P5?R^'I+&+4[SQ9-=2O:+=WD-DCP6L**DK"2XC;=)
M,JC'*/G!^I?C-X^U;X7?"S7?'WA[P-?^)]3TW3WDTGPWI;!;C5;P_+!:(S?+
M&9961/,;")NW,0JDU\3?\'1W_*"CXY_]RS_ZD^DU]_T ?EI^V;^V?_P7'_X)
MA>$;']NC]J6#X'^/_@];:Y96_P 2/ ?P_P!*O[;4/#%G=3I DMI>7+C[45DD
MCC+R* SNO[I58O'^C7Q;^-_@GX._ 3Q'^T5XDN7;P_X;\*W6OW3QJ0\MM#;M
M.0BD9+LJX5<9+$#&3BOGK]OCX;V?_!13Q#8_\$[M*B%UX'LO$.E:Y\?M67F&
M#3[2>*_L_#ZL.MY>S16TDB@Y@LT9WVFYMA+V?[;<<'Q0\8?";]C^V"M#XW\:
MQ:WXHME[>'M!:+4;@D=XY+X:39.O0I?L#P<$ YCQ#I?_  5>\5_ WP-\./A?
M\0/ OA?QRW@RTU+XC?$KQMX=_M"$:M,"9-,T_3[1X$Q$ZN'GF("1>0%6>221
MXL3_ ()!?MI_M5_M0Z%\6_@W^VKX'T"R^(WP0^)4_A#7?$7@Z*5-'U_;$DL=
MS LI+(^QE9TXP)(FVH7*+]1?%G0/B7XH^'VI:!\(?B)9>$_$%U;M'I_B&_T
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
M(>K>,6FL? ,NC36M[J#1--%EM1NE>)3&=HVJPW<L<<_4M% 'P?\ %K_@FO\
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH ***9<+.]O(EM,L<A0B.1DW!6
MQP2,C//;(H ?17YS?#7]L#_@IU\:/^"J_P =_P#@GAX5^-_P=T+2OA)X:T?6
M-)\2:C\(-0OY]274+6WG6&:--=@6/RVG92ZD[P@(5<X'??\ !,__ (*B?%7]
MI7]J/XR?\$]?VN_ACH'AKXR?!:ZCDU&\\&S3MHWB'3)2GEWUM'<%IK?B6W8Q
M2.YVW"'=G<J@'VW1110 45Y9^T+X"_:J\8^._AGJW[.WQ[TCP=H.B>,DN_B=
MI.I>&8[^3Q)HPC(:RAD?FU<OC]XN&&0=V$,<GJ= !117B_\ P42^(?QN^#W[
M#_Q3^,O[//BW1-&\5>#/ 6KZ_I]UK^A/J$#FRLIKGRO+6>+:SF,*)&\Q4SDQ
MR=* /:**\)_X)@_&GXD?M&_\$[_@O\>?C#X@75?%/B_X<Z7JOB#4ELXK<7-W
M-;J\CB.%4C3+$_*J@#L*\(_X*W_MM_MF?L8_&S]G;PC^S_XI\!C1/CA\:-*\
M!:BGBGP9<WL^CB\E@B%W$\-_ )2NZ5O+91GY1N&"2 ?=M%?-?Q8\-?\ !4GP
M/X.E\9?#K]H'X4>+;S2[B&YNO"\GP<OK*75+195-Q!!<+KDOE3F'S#&3%("X
M52N#D?2E !117G7[6_B'XK^#_P!F;QUXS^"/BC1]'\3Z+X5O]0TF_P!>T5]0
MMDE@MY)0&A2>$MDK@'?@=2K#Y2 >BT5\0?L6?%?]N[]O?_@B)X)^+OPZ_:+T
MGPK\=/'/A<7=I\0=3\*6MS:6MPNIMO+62QB$AK:)X1\AVEPY5BIS]I^'K76K
M+0+&R\1ZK'?ZC#9Q)?WT-MY*7$P0!Y%CRWEAFR0N3C.,G&: +E%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444V83-"
MZV\BK(5.QG3< >Q(!&1[9'UH _*3X&6OQYN/^#E']L=O@%KGA&SU)?AGX,^T
M)XPTJZN8)5.F6.W:;:>)D(;DY#;AQ\O6N[NOV0/%_P#P21^!'[6W_!63Q[\7
MH?B;^T#XR\&W^L7NNQ>'1IVE:8+:W8V5C:VAEF?[/'((-[22LSQVT8^4ABWK
M'P _X)E?'GX+_P#!3OXH_P#!2#6?VMO#.M'XKZ-IVE:[X)@^%4]I':6ME%;0
MP?9[HZO(RR>7;_,SQNI:5CL  4?5/Q:^%O@;XX_"WQ'\&/B=H::GX<\6:%=Z
M/KVG2,0+FSN86AFCR.1E'89'(ZCF@#\T?'7_  34_:)_:R_8Z^&'Q?\ V6['
MX<^ _C0+'0O%>B_M(CXFZG>Z]JLDD4<\\E^Z:0C7L-RDCYMI)6MXPZJB>6@2
MH?VF_P!FVT^-_P#P7N^%WPG^)7Q-\6-X<\=?LPZS=^.M T+QUJBV-_(+Q8YH
M[1S<;[&WES%N6U,.](MK9$D@;M/V7O\ @C1^WS^S1HR_LH:9_P %9]:O_P!F
MNVN)(K3P;)X&M1XC3278E](35RQ>VB96,;31 ,JY\E;<L"GN'CS_ ()V?%_Q
M'_P4R\$?\%!?"/[27AG1=+\#^ +CP=9?#U_AE+.)M.GE:60F\75(]DH;R]I6
M#8HC V-DT ?+'[;G['?P[_8;^,W_  3W^#_P*\;>.E\.Z'\?%T2/3M=\=:A?
M0W-M(MQ>+YL$DWD,Z2,ZHXB#+&50$*BJ/3-%\>:+^W=_P7&^-'['W[06A6VO
M?#SX!_#707T+P#K$:SZ3JNJZK%#>3ZK=6CYCNY(HI8K>(2JR1?.RA7?<?:?V
M^?\ @G_\5OVR_C7\#_BQX-_:/T7P9:_!3Q_%XMM-)OOA])JS:O=HOE^5),NH
MVWE1&,R+A4+9?.[@"LOX[?\ !-_Q[<_MTZ'_ ,%)_P!DCXQZ1X.^)R>%?^$8
M^(&D^(/#\MYH?C/2=RLB3QPSQS6UQ$R(T<ZN_$,2,K*IR ?*GA+]H;QA_P $
MHO\ @I'^U%^RWX#^VZO\&] _9?O_ (Y>"?!%W>22P>%[JQ'EW.GV98DV]I<2
M+*XA4A(SL"*N6RFD?LK_  H_:C_X-[_%W[9?Q_M5\6?&#QU\"]?\=ZK\4)Y3
M_:]KJ+Z?=745I:W .^TLH%"VHLXBD!B5T9#YC[OM/X4_\$]M ?XF_%/]H/\
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "OFWXR_\$?/^"8W[0'Q/N?C1\6/V*_!&I>*;Z8S:EK<&GM:37TI()DN#;-&
M+AR0,M(&)Z$FOI*B@#G_ (6_"CX8?!#P)I_PN^#7P\T7PKX;TF'RM,T'P]ID
M5G:6J9)(2*)55<DDG Y)).2:Z"BB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HKAOV@/V@? G[.G@5_&GC6=I'D8Q:;IL!'G7DV,[%ST ZLQX4>
MI(!^(/'/_!3W]I'Q'JDEQX1FTKP]9[CY-M;:>EPX7MO>8-N/N%4>U?G?&/BC
MPGP176'QTY2JM7Y*:4I)/9N[C%7Z)M-[I6/$S3B#+<IFH5FW+LE=_/9+[S]&
M**^#O@M_P5/^(.DZS#IOQOT.TU;3)'"S:EIMN(;J $\ML!V2 ?W0%/N>E?<?
MAKQ+H/C'P_9^*O#&J17NGW]NL]G=0-E9$89!'^!Y!X/->AP?Q]PUQQ0E/+*C
MYH?%"2Y9QOLVM4UYQ;72]S;+,YP&;0;P\M5NGHU_7D7J***^T/5"BBB@ HJ.
M\O+/3K.74-0NHX+>"-I)YYI J1HHRS,QX  !))Z5XU^P-^W?\#/^"C7[/47[
M2?[/NH3S:%+X@U/26BNP%GAEM+IX074$[?-B$5PHZ^7<1YP<B@#VFBBB@ HH
MKD/CO\4M5^"OPKUCXHZ7\,M8\6C1+">]NM&T&XM8[J2&*)Y7,?VJ:*-FPF I
M<$EA[D '7T5\B?LI?\%5?%'[;/[..A?M5?LW?\$]OBYKW@_Q*EX=%NI==\*6
MDUP;:[FM)1Y5QK*,A$UO*HW8!P#T(->Y_LE_M'V/[6/P,T_XV67PR\3>#'NM
M5U;3+[PKXRMH8=3TR[T[4KG3KB*=()98P?-M9"NUV!1E.><4 >D445\T>#/^
M"BLOBO\ X*E:Y_P3)U']GK6]#NM%^$LWCN+QEJNM6C1:E:KJ=M81K;VUN93Y
M<C32MOEDCD7R,&'Y\J ?2]%>5_#?XX?&GQA^U%\1?@EXM_9;UCPYX-\(V.E3
M>%/B?=:U!-:>+)+F$O<10VZJ'@-NX\LEF;<020@*;O5* "BBB@ HHHH ****
M "BBB@ HK,\;:C>:1X,U?5M.F\NXM=+N)H)-H.UUC9E.#D'! Z\5^./_  ]D
M_P""@/\ T7W_ ,M72O\ Y%K[W@OP[SOCJG7G@*E.*I.*?.Y*_->UN6$NSO>Q
M^?<<>).1\ U*$,PIU)NLI./LU%VY;7OS3C_,K6N?M#17XO?\/9/^"@/_ $7W
M_P M72O_ )%H_P"'LG_!0'_HOO\ Y:NE?_(M?<?\2^<9_P#01A__  .I_P#*
MCX/_ (F+X)_Z!\1_X!3_ /EQ^T-%>5?L1?$CQI\7_P!E/P7\2?B)K/\ :.M:
MMI;3:A>_9HX?-<32+G9$JHO"@< #BO5:_%LPP57+<?6PE5IRIRE!M;7BVG:Z
M3M=:72]#]PR['4<SR^CC*2:C5A&:3WM)*2O9M7L];-^H4445QG:%%5]7U?2O
M#^DW6O:[J,-G96-N]Q>7=S($C@B12SN['A5"@DD\ "OE;P!_P4S^('QG^&?_
M  TE\"/V!?B7XP^%$_FS:-XHT_4=*@U/7+&-F4W]CI-Q<I/+ VTM&KM'/*@!
M2%BR!@#ZQHKSO]DW]I/P=^V!^SOX7_:6^'ND:E8:'XNLGO-)M=8A$5TL FDC
M0RH"0CD)N*9.W.,G&:\;\<?\%/K0_%+XJ?#;]G;]FWQ/\3H_@=;Q-\4M8T?5
MK"RALKEH&N&T^S%U*IOKQ(%9W0;(U)5#+O.T 'U117-?!CXN>!OC]\(?"WQS
M^&.JF^\.>,O#UGK>@WC1%&FL[J!)X693RC%'7*GD'(/(KYH^-'_!6:+X/?MR
M:)_P3WM_V)_BEXG^('B;PU-XA\.KH.H^'DLK_38GG22<3WFJ0",J;>3,;[7^
M[@'<,@'UY17S9^RO_P %1?@+^TY^T'XH_8_U3P7XR^&OQ@\'62WNM?#7XC:;
M;V]^]F=G^EVLMI<7%K>0?O$^>&9N'#8 .:^DZ "BOB'XX_\ !;32_A;\;/$'
MP?\ AA_P38_:F^+EEX=UA])N/'7PL^%1U+0+F^B/EW4$-X9D5VMYQ);RD@!)
M89%S\N:^@OVH_P!L;X>_LH^$/#&H^-?#^K:IXG\=>(+7P_X&\!Z((9-3UO5I
MQE;6/?(L*+&H=Y9Y)%BB1&9G^Z& /7**\2^!O[:>B_$CX\ZY^R;\4_AY?^ /
MBCH?AZ#Q"/"VIZA!=Q:KHLTK0KJ%C<P,5N(DF5H90RI)'( "FUT=\/Q?_P %
M 8[WXR>./@C^S5\ /$GQ6U3X6VUO)\1Y_#VHV5I!IEQ-$9HM,@>ZE07FH&)?
M,,";40.BR2QNP6@#Z)HKA?V:/VD?A!^UU\#/#G[1?P'\4KK'A;Q18_:=-N_*
M,<BD,R20RQM\T4T<BO')&W*.C*>E=U0 4444 %%%% !1110 4444 %%>6?&7
M]I'2OA9\3?#?@B8QM#>2[]<E;K;0/E(SGM\WSGOM3_:KU,$$9!R#T->/EV?9
M5FN.Q6#PU12J8:2C479RBI+]5_BC)=#NQ66XS!X>C7K1M&JFXOND[/\ S]&G
MU"BBBO8.$**** "BLSQEK6M^'?#%WK?ASP==^(+VWC#0:/87,$,UT=P!5'N)
M(XE."3\[J..M?.7[ W_!5_\ 9_\ V^OB/\1?@3X<\(>*? ?Q)^%FLR6'C#X=
M^/8+6'4X%1Q&;F,6L\\4T ES&71S@[2<+)&S@'U!17C'[3O[7VH?LT^.O '@
MJ3]G?Q?XL7XC^+8O#6AZEX=O-,6&#4'M;J[VSBZNX72,06<[F158?)C[Q4'V
M'3KBYN]/@NKRP>UFEA5Y;61U9H6(!*$J2I(/&02..": )J*\2_9._;\^ '[9
M?Q*^,'PM^#6MM<ZE\%O'A\+>)U=E(DG$"L9X]I/[KSUN[<$\E[*4XQ@GJ?VK
M/VH_A%^QG\"-<_:(^-^JW5MH.AI$K0Z?:&XN[ZYFE2&WM+:%>99YII(XT3@%
MG!)506 !Z)17R'\:?^"H/Q5_9=^%$OQT_:;_ ."=7Q,\.^$S%'LU'1M:T?6)
M=/FF94@BU&&WNM]H'=T0RIY\4;'#N,@GH?\ @I+_ ,%-O"/_  3)\%Z!\2OB
MK^SYXZ\5>'_$7B:T\/6.H^#7TR0IJ5RLK0PR1W5Y ZAA"P\S!0$@$C(H ^FZ
M*^4OB_\ \%/_ !+^S3X&G^+'[3G_  3I^._A#P?8QB76?%%G!X=UZ#2(1R\]
MW#I&KW-S'$@Y:18750"21CGW[X#?'SX-_M/_  ET7X[? #XB:=XJ\(^(K7[1
MH^N:5*6BG0,58$$!D=65D:-PKHRLK ,"  =?17B/[=_[?OP!_P""=WPT\._%
M3]H36FL]-\3>/-)\+6!C905GO9]KSMN(Q%! LUQ(1D[(2 ,D5[<"",@T %%>
M$?M&?M^_#7X'?&;0?V6_!/@K7_B1\7/$VGR:CIGPY\&+;FZM=.1MKZC?SW,L
M5OI]F'(02S2!I&.V))&^6N3\3_\ !3"W_9]\?>&?!?[=?[/&O?"#3?&FJQZ5
MX8\>W>M66J^')M2D!,=C<W=L^^QF< [#/$D3[6Q+E2  ?4=%%>/?M@?MQ_ K
M]BCP_H-Y\5;O5-2U_P 8:NND^!/ WA;3S?:WXGU X_T:RM@5WD;E+2.R11AE
MWNNY<@'L-%?.'BG]MOX\?"3X?WOQB^/'[ 'CG1O"NFV$E[J\OAOQ#I6NZEI5
MNBEVDN+&VG#.%4?,+1KEAUVE06'K_P"SQ\9M _:.^ '@;]H;PI87%II?CSP=
MIGB+3;6[93+#;WMI'<QHY4E2P64 X)&0<&@#L**** "BBB@ HHHH ***H>'/
M%'ASQAITFK>%M;MM0M8KZZLI+BTF#HMQ;7$EM<1$C^..:*2-AU5D8'D4 7Z*
M** "BBOD^U_X*JZ9=?\ !0J7_@FJO[)/Q'7Q[#X2'BB2_:[T;^RQH^]8_M?G
M"_WX\UA'L\O?N_AQ\U 'UA1110 45X#_ ,%,/VYY?^"<O[(GB?\ :TG^!>M>
M/+'PQ#%)?Z?I&JVEF(%DFC@1Y9)WW!#)*@)BCF<<G9@9KV;X>^*_^$\\ Z'X
MX^P?9/[9T>VOOLOF^9Y/G1+)LW8&[&[&<#.,X% &Q1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 9
M?C3Q9IO@7PM?>+]8M[J6UL(#+-'96[32LN0,*B\L>>@KRO\ X;M^#W_0K^-?
M_"2N/\*]HHKQLRPN>5ZJ>"Q,*4;:J5+G;?>_M(6TZ6?J<M>GBYR3I5%%><;_
M /MR/%_^&[?@]_T*_C7_ ,)*X_PH_P"&[?@]_P!"OXU_\)*X_P *]HHKSO[.
MXO\ ^AA3_P#"=_\ RXP]AF?_ #^C_P" ?_;GYD?MY_'=/CE\9UN-)COX-(TC
M3HK>PM=1M6@D5F DD=HVY4L6 SW5%->)5]4_\%2O@SK.@?%.U^-%E9O)I>O6
ML5O>3JI(ANXEV!6] T2H5]2C^E?*U?P;XDX7-L)QSCX9E+FJNHWS6LI1?P-*
M[LN6UE=VVN['X]GM/$TLWK*N[ROOM==+>5K!7V#_ ,$_?VMM"^&/PQU+X>^.
MK'7;V*RU+S]+.E:3+=B&.5<O&=GW!O5F /4NU?'U?HS_ ,$T_@SK/PQ^",_B
MKQ+9O;WOBJ[6[C@D4ADM$7;#N!Z%LN_^ZZU]1X(8//,5QO&66U/9\L)\\G'G
MBHM62<>:-[RY;+F6JOK8]#A.EBZF;)T'RV3N[75O-776W7SZ'1_\-V_![_H5
M_&O_ (25Q_A1_P -V_![_H5_&O\ X25Q_A7M%%?V5_9W%_\ T,*?_A.__EQ^
MH^PS/_G]'_P#_P"W/*O!?[8'PP\=^*;'PAH_A_Q7%=7\XBADO?#4\,2M@G+.
MPPHXZFO5:**]G+:&9T*36-K1JROHXPY$EVMSSOKUNO0ZJ$,1"+56:D_)6_5G
MRK_P5C^+_A+1?@WX<_93UKXH:9X2N?CQXF3PG>:WJ6LQV*Z?H C:XURY$TC*
M$;^SXIK>-MP(N+RWQR:^-O\ @FE\2_@9^P=_P7&^+O[ GP2^(GA74?A)^T'I
M"?$'X66OA36+:YLM)UN)'&H:;&+=BD)=(KB01\;8;6V4#!K[ ^$/@OXX?&G_
M (*&^//C3^TW^QSK>@>$M#\'V7A?X0:CX@U?0;^W-L\KW6K7<D%K?W$L$US<
M1V,:@I_J;&$DHS.H\8_X+L?L.?M$?%C1_@G\</\ @G#^S$-;^,GPA^*-MXBT
M&_TS4='TJTCL0N;JTNGO+NW9TF:*V^5 ^1&RG 8UZ)N=C_P5V_:^_;<_95^.
M7[-GA;]F#Q-X,.D_%;XNV?A35M#UW09!<7#N"X#7YED6&W<#8_EVIF499')P
MM>:>(?VK?^"H7_!.W_@I1\'?@E^VK^T)X0^+_P )OVB=5N= T+6-$^'L6@7'
MA'7\*8+=8HYI6FMV>6) 9II'="YRC1?O,K_@M?\ $SXJ:GXI_8.^)MU^SIKN
MF>*E_:;TJZE^'%_K6F/?&=;=B]HES!<R6;.?F5',RH3MW,@)(]O^.7P%^)__
M  4/_;;^ 7Q&UWX+^(?!/PU^ NOWGC#4-0\81V]O>Z[KK0K%865K;Q32.D4#
M;IYIY J-B../>2[( >/_  2^//\ P6!_;+_:F_:H_9*\"?M<?#CP#_PJ+QAI
M-AH_CNT^%0O&MXI[6:=+>#3KBZ<%I?E\ZXN+B81B$"*$F4M%U?\ P35_;T_:
M5_:K_9@_:2_9Q_;;TS2$^,GP!U#5O"_C'5?#\ BLM:A:TN#:WT<8 "&3R9N%
M55*JCA4WE%X#_@G?\9_%OPG_ ."MW[?D5K\ _%WBS2+WXA>&W?4_"$-M<R6E
MTFF2[8)8))HY,2*Q*2*&0&-A(4RF[U[]E[]D/X__  '^$/[3G[2_C#X'7^I_
M%3]I#Q3J6LI\.="UK3?.T:Q%I+;:7I\]U<7,5J\ZHS-/)'*R!YRJ;U3>P!\E
M_P#!&G]J[]N7X"?\&\7A/6?V>OV&;CQ5;>'O#'BZ[T3QE_PG>FPQAAKFJR/<
MFPE_?2"W<R$PXW3>00OWUK[_ /\ @H=^V3XA_9A\3?!W]F7X#V6DVGQ$^/\
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
M2?$GQ+T36]+L?$^HO;>'O LFM7:0VO\ ;NHS+9V+S._RK#'+*L\I/"PP2L2
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
M(;K2[[6].NX;MYO%$UW"T4]C<W";"D\8)?:P;/RD#) /I?\ ;L_:Q_X*U?\
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
M:PRPP"SE%Y(T:!) &$HE+;!AE))/U%110 4444 %%%% !1110 4444 %%%%
M!1110 4444 4O$FC_P#"0^';_0/M'D_;K*6W\W9NV;T*[L9&<9SC(K\]O^'
M_P#U=C_Y8G_W=7Z+45]3PYQIQ-PE&I'*J_LU4MS>["5^6]OCC*UKO:Q\IQ+P
M/POQA*E+-\/[5T[\OOSC;FM?X)1O>RWOY'YT_P##@?\ ZNQ_\L3_ .[J/^'
M_P#U=C_Y8G_W=7Z+45]+_P 1D\2/^@[_ ,I4?_E9\O\ \05\,O\ H _\JUO_
M )8</^S7\&?^&>?@;X<^"_\ PDG]K_\ "/V1M_[2^Q_9_/S([[O+WOM^]C&X
M]*[BBBOSG%XJOCL54Q-=WG.3E)Z*[D[MV5DKM]%8_2\'A,/@,)3PU"/+"G%1
MBKMVC%62N[MV2W;;[A1117.= 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %> ?$']B'5?B-XTU'QKK7QBQ/J%R9#&-!R(EZ(@/VC
MHJ@*/I7O]%?-<3<(</<88:&'S>BZL(/F2YYQ5[6O[DHW=FTKWM=VW9ZN4YWF
M>1U95<%/DE)6;Y8O3>WO)V^1\S_\.Z_^JP_^6_\ _=%'_#NO_JL/_EO_ /W1
M7TQ17QG_ ! [PN_Z%_\ Y5K_ /RP][_B(/%__03_ .24_P#Y Q_ 'AW5?"/@
MW3O#&M>(/[4N+"V6 WYM_*,JKPI*[FY"X!.3DC/>MBBBOU'"X:E@\-"A2ORP
M2BKMMV2LKMMMNW5MM[MW/D*U6=>K*I/>3;>B6KUV5DO1:!1116YF%%%% !11
M10 4444 %%%% !1110 4444 %>$^.O\ @G1^S5XF_:#7]KGP'H^H_#SXJM ;
M>_\ 'WP_NDL;S5;=MNZ"_A>.2TU%#L3_ (^H)64QH592H(]VHH J:%87^EZ/
M;:=JFN3:E<0Q!)K^YBC22<C^-EB54!/?:H'H!5NBB@ HHHH **** "OFK_@J
M%_P3\UK_ (*4? .#]G*?XY#P1H/]O6.KW]U:>&%O[R>>TF$T"H\EPB1Q[P"P
M,;,VT ,HR#]*T4 9_A6U\4V7AZUM/&NMV.HZJD>+V^TW37LX)FR?F2%YIFC&
M,<&1N<G/.!H444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
F%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 ?_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>appf-20201231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:appf="http://www.appfolio.com/20201231"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="appf-20201231.xsd" xlink:type="simple"/>
    <context id="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8e1be9b2d93544ec85d1e51b09118311_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ied1dd92e7f9246c1a45a4070cdcbc58e_I20210215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-15</instant>
        </period>
    </context>
    <context id="ia6b2b6fa1d72456ba9f14cec344608ab_I20210215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-15</instant>
        </period>
    </context>
    <context id="ie6b462932c454ef1af9e87a9f2fb7348_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if87112ed58d44be294bd33c5ebbf224d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibe4381ea556a4f5dbfe309a4824185d7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i696bcdd341204f7e81923e221017f98a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie8df2e081bbc447b804c96643bebb2b1_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iff665478529c4a5cbc4d81477e18f1cd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i7914f6f887a9464f88693d0427ccdb78_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i380df49aca51413db24bbf1817db8287_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i498f187c4bf34f47b08c411cddca983c_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="ib0fb2ee59e454533b485c7404c5ddf95_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="if29e6192a513486b813c835f1b67c375_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i4fdf7beea5e247d6a2da08d07d68f4d6_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i33fd34f1e8d1430f80df86809474ca2c_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="ia66de228f69146c68d932a63d592f037_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i3a21f7a26f324477a23e1b00e3de6acf_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="ie78d128f448f42b59f0c10b1987488ab_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i4f9a14399d354f778d02a86329cf3648_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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>2017-12-31</instant>
        </period>
    </context>
    <context id="iec0a0a7e74c54db6a03735eb3abc8ecc_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i6069f181c51a415493981b96f64e2255_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i8d5709137fe94ae29243529a3254cedd_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</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="i4867c6353b784ddda2975953bb82525f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</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="i5c4d95a6966e422a919bfb5999cbf7fc_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i942745ea801a453f9a257557fb01f52d_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i791194c060134928b768659ecb27b02b_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="idc7d4eeeecff419bb9e2bfa4f8aa1a5b_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i02d63145a04b47a48a5a20bb6671ce00_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <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="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <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="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i2ffe2487696b4ef8ae9895d1f3e60e2d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ia17898eab0a84e86af4f2838bb075bc8_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ie1f2fd74e7814953a98976e1522397f3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2eceb2a67816475f9495f49c45469f2c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i98e2ea9866cd4d27921474d613e42da0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i3f2bc66ba866450fb4937f02eafd39f7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="if4ee326334da492e92b01dc1a3d4ae35_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1fbc00c8aa2048a4b08a253ab945d669_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <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="if51c7056a1e3488ba6078db402a630de_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <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="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ib90028dcbf22490dbcf8b9384e259871_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i14449d34ed1b478492c96facf4421275_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i18e3341bbce74544a9b308931cf2782f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i7537d46876a24976951eb2e446da87ae_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icc5bc645dca9426a878a741c849c2024_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ie8c0c53063e34fd0b5d0a014a3b311a7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ic9339f252af746089527f092369d643f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia838a71712074d6a982bc46c2fe29970_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ia520f44bc1bd4a69967d96420c544e6b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7b9747939dce47579d55925da13ff57c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i791ab114ec454d5b90c722c12318b53c_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:SoftwareAndServicesOfferedToRealEstateVerticalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i25006d5d67bf47229384f8b1670eb090_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-30</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i775737621cf8499caf903c657527ac4f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id0bed8b25dc44f859958e2715fbff35b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3596c1bc1a4c48b782bc4a165bea69ca_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8247a60257294e31ae341ca5c7084724_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i629deff96d36469d8b91b79f2637153d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9ef50e190b0446b6b41c5f0c12f3822b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:GoodwillMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i615de3470d494946b4a5d94b44b0e6ec_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i770e64f46e564319a6c18b27195bb0d8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i14bdef26eb4144e79975801988ed103a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0d3eeb8943cc4fc3a192ffa175deb491_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i84676c5ab81f419796cc34238a67fe65_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5bd52c1973244553a751a761f389ca66_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i05f36af467dd4c4b8764033a297871cb_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="if18cdb85957749b29afe5d94e2aa5014_I20180101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="if48a6e4c69274938817f9b2089caf91b_I20190101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i4c7848f33a1048f88ca559d8addb4dd3_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="ie3749537f4934e1b9c5e97c74cec129c_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i9d875afba5694b19b69b6e6b34d4d43a_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="if70a6727567142929980877fade17471_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="icd2278e6bb104cf2b98610aaafb99846_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i609d9b36182b4d279927c63935b1622a_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i3ce17488f92b40949fc9278d4c2f6360_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i2bed893afd274119b5f5e1aee82e3a43_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i4d0a8d8ecf0841258eb6f60a7f8f23e4_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i7d87e35597934392b2904d7e25a9f6c4_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i43099fb76a384b87b43d53efd2a3909c_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i00cae34e5d5446ba8e1a2cdd41b544d9_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i78b6030868ae4c7d94cfbca83d304d2d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8cf289ac68fb426db15e6292cf385cfb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i48dbca9878c24d70b873012d65fa2a24_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6f51dcdbd6204647b6c985d4fd00579b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="id7048402d3c548c4966c4b9f13de2380_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0ed5787f541b486d876c274976b0b95f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i71bd0b1d46504994a1f45f2ab19fb143_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic3806ae5e6874059b5c912a6a9c6bcab_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i97ee30ebebd647588addbc170a7a6aa8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ife7f5317c120436a8faae90027509af7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib271ac0c1622494f948735c657ff48ef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i402acf436df84b7880c2a4aa61e9d41b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i40b37e9adad448408a57f1b45de0087e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i954b5d7bfb764e6b8df91e062c4a5f48_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i15ceb52655f34529b9889b41cc7b473f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2f213a81ab22426b81c14619e6dc9e1f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i80b15b5a7f6843a7bd2b6e36ec705928_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3e78b1a19aec4a508dd936613ddc4ce8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie4314adc8a2740f6b240fa95a1ebae5a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i724e7781c207431fbf6dd28887c958a4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1f17e7aa7d024a5e889e2c7a20010173_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6cafb0d2772f4b51801f4683cf68928f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3104d6b8cc81460b886135648ef108ae_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i45c535d20de2421f8b8c4c9f3b8f2c75_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8f2082b48c6c4e60ab0d5bc5f521f3ab_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i838feed0e5de4761b737bd296a069623_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6587dce9c8104d439719029c960dcb1f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iac7a88785001472ba7c6196dbced8c27_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i58c8c2559f4c412c9aa777284b499f0f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i205b6d6d5cb64ef38699da52825221e6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2bffd86069d54bde8c67ec4b9568ee3d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i24df997cf5d74e7d80367e0bffcf255f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if0e8e8ff65f248088bfcd2ca9b7a0474_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3c8a7325a47b41f58b3c52c55e00638f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if89c7407c49046898c2c0c7a05a86f88_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1cca2492bca943899611f7977e24a7bc_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4a05c430240548d7ae1e9439486e2959_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iafa0cc8ceb8744b589dad51320e7b254_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3703ca84213b404bb3cda52c9cd9f86c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5320fe164a0d41e0868d3ea73cf50da2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i649b5470b0aa4b94a6b59f25c5c9e8a4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1610bd2373aa4a68aeadc900f79ca058_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5b021b3f26974876a89fe29b014da4f7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib8e7d2a2f1c7430f8b4578b37edf71d0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if987bb93d4bf48ff932dd2563732faff_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i515bfbaa190a4882b2eff4a3157c8383_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ida9949b23cc94e42aa55e15986693711_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i85131be12f96492f9e0ebdb0c1cd2b37_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:DataCenterAndComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i406c34a01e874bdbbc4db18c847351c5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:DataCenterAndComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia8afc8f42fe046c89039eb0f3abde265_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ib25e2a8ea9e6467aaeb63e75eb846b63_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia82cae4596f4432a9a60ae063dc10480_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i512e9e91df8644dda8fa5f808dba04f0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib43ad54ad91c4e21a9e213dcb3b4c221_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i12a91ae5f4854962ba8dddb3d99cf44d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2f2b6dd4a1024eeb93232927f1fafb3c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic563c8553e5f4977912b94d3467c73a7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4127e588db5841269435404cd726e073_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:FurnitureAndFixturesAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i30010c4df2d84ca88b90d5ce364f97ae_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iea76d1d765f54e6d80291c4826ac3a13_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if5d02b7ae4fc48bf8963cb0529762997_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if2948fe13c5c4baf8a273630f7e05c6a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2f0717644b964c458b04d2ff9f73b68b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie8aadda0e8c746b287950afae233ea5d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i06a3dcc6b8864fe0b010eadbf7e5acde_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9c393c835fa44f2da654193a7234825b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i59585b72b31549fbbf496319fdffdc12_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4bfcdf0391e844229cded3519641beec_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifeed99d15f794c749d7b94c1cdceb0ae_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i59322443f64f42fa82a6aeb2d870940d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6fde2b93714b413ba202ab95939db554_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0e78dc2e785542e2a2b5644873e00020_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icf919fe6398845959f7346b359253f90_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if01218679d634590b83a3577557223ad_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6da119b01e514b70934f4ec2f647a9d6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if19d9c1a49cc42d7ba1739dcca8e72a7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6cbb6f4e7b46444da7ae714fffa8a978_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0112f48ffb094d65a97b721bd990a5ce_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="icdc30ee9208d4bcba77baaec164c7c64_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2d55b6e934984b12997c41e9c938cdf5_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iea177e156ebb487b806bf89240e7c8b8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i9045cb2e5d9847a59f9b41c0f9886808_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i42432e1e809641fe877687b20e2b8dbb_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2b0d072d42704847b75ee4249d034bf7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i9f56c3879ed84f02b3caba13708ebcd6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i13466a2dc6e748de9f0fb9f156621b59_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3924e18efe364cd2ace1a364a5089f6e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9834e517f7204327a69ab87c22c7956b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3314efe5584b45daa6d6bf3a9252e50f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i42c39ba5a870471c851f5256fd74a2a5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i91c2d3baf0334c13b2c95f446e16f20c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i941de9c5c70a4aaa8a5f02dbaee7bf38_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic80291bbc9284c33abd9f2325ed5ec7f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8c44c9d704f94577a58842cd80552570_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1839549352ce40bb80d59575701cc727_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iaf40a4a4574a4692a96d0a3775c9bce2_D20201217-20201217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:RichardsonTexasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-17</startDate>
            <endDate>2020-12-17</endDate>
        </period>
    </context>
    <context id="ib579298b6d534de4a508f67a6eb46121_I20201217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appf:RichardsonTexasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-17</instant>
        </period>
    </context>
    <context id="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="i97955c9d90b447298886c0809dad35fe_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i3d2a314ee2504faf9675a444488e13dc_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="if25f5735de8b496f8a8d99c6e8d45323_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i826b214e658d46a79510bbd20e137e62_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i1e858f386e8440168941459a4818d4b1_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="ia5623b515ce04b94a632d2c12bfbd351_I20200929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-29</instant>
        </period>
    </context>
    <context id="i1f47cdaf3a8945fe95c94b53adcfd508_I20200929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-29</instant>
        </period>
    </context>
    <context id="i2713f3c7fb3a48aa9a42d605d7028a69_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="ia63bf3ccdce24413b417a81518b6bd6a_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="ifa0ef33b66ab45b2be95c13e1a816073_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7bdd49104c9a4939829127a288b50cd3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i829c8c644d9041498e5e6b8e3b91f03a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i46fb2a43bf58405182bde6aa9232f5fa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i617566f47284443e9deae70759318fe3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i757d8937ab924ece9470646b55114888_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ida24abba03d94978821a3af5af849f29_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i45088498d4d54152a858c260f003d2c1_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i6bcd27dfaced473d9f8ce876ed96f27c_D20210101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="ic77deb8838064aa4b4d2582a554d5094_I20150625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2015-06-25</instant>
        </period>
    </context>
    <context id="i486b50d6796e458787aeee05fb98d767_I20150625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-06-25</instant>
        </period>
    </context>
    <context id="i06d1dcad0b414943bd97379ecab92675_I20150625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-06-25</instant>
        </period>
    </context>
    <context id="ie9581f6f547543d2a095259cacc478e1_I20150625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-06-25</instant>
        </period>
    </context>
    <context id="iccdd68156c904b7b8b969730c9de8556_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3505cdf241aa4a2c8081f6d9f7a4c764_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConversionOfStockByUniqueDescriptionAxis">appf:CommonClassBToCommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i86d127b091904d9fba57f908929b83a8_I20190220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-02-20</instant>
        </period>
    </context>
    <context id="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i3ad85cad9ecc44e0a7d7902695ac893b_I20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="i8a3bcdd9b57444c5a51e029d3423b314_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i99819e9e20e74b18823f1ff272f2c656_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:TwoThousandFifteenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1b2e06d0b70d42e9bb04a8e372756b02_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id458400680174ae3a9d186337b40caf5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iccbf8db6b3764aae825f3fe2535d2c10_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id1b662444b08435dbe2208bd233d411a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i26426ceddf214a1ea5914e18c010cc38_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:EmployeeStockOptionsAndPerformanceStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i4fd6f08a9bb84b028249c0fdce83d8bb_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i5a75de892bd14090845814ed9650eb72_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:EmployeeStockOptionsAndPerformanceStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i950a2961c7164c988b3443285bc84af6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4bb3339d6c794033b847eb68961c8967_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id4243e69cf1948019aae6107533fa3cc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibf5c2c756ac0462282be61345828597f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0bcca23ab6324e1983320926fcd91402_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id6e5225ba00e4ca9b59edf699af0b36b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7f02992a4d704a7ea6286f30ad53e8f9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3cd044a5772d4b08a888332b9e2800e0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i073aee93ba424d17a2d7685bcc354bdd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iafd019a04c294eb9b38b19f3a4b4e49f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2016PerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7135702889054051b650f307ee947896_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i230571d2508e457e8827faf8a862be19_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie9950d2e74804d0ca847c54c886bed89_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5b9a767206d24226b594e699c010c7dd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibf610a2cad524f9aae9a0350522654f5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i75b755e3278244d7a45ede24ced94bb7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i097807896b5441218874897d2974c0ea_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i815f844a27394208bed6e807911fba9d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i091b6e47073340c4a614455889151648_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i33ced037467841c095de718193b884c7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4be262ef22eb49f0b6bae988c591d0eb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iea0b999a93144a26abf77107d3808e2b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5f352c5f20f94c8aa56aae90523e9892_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie0151233bc0447fa88f5fa2684960e5a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i35c4418faaa14a79b23a2cd2c7b2b434_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i23d98b4f05bb4bca84eb98f630a8addd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib7ee5461abdf4bedbe15c2460cf8b782_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifeb3fb87ab7a4cd1941bfb8991467ea9_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if0c6336a8b284bd7b3c58ea15b32829c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifbb35241961348a7906632a948d86917_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01390a6a12cd445db158cda4169a39a6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i49f21b866a974cb5af0d88082667c437_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i155f8f7267774e7b8044097d9d108b30_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id161bac78060432b9f1bbad8354f0fb4_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i3f25746ecdf4470094faade647b145f8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia3851c5bdd1e4f21ac815c345ef884a4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6ab43607928b4eb6bcf22addd709f5ed_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i7f3b18600ba9494fa92c6810bc520195_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i85640fb3a94a495c8f1c47eee8c9965e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8254a32400ed4a55a4959493198ce754_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</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="segment">
        <measure>appf:segment</measure>
    </unit>
    <unit id="reportingunit">
        <measure>appf:reportingUnit</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="vote">
        <measure>appf:vote</measure>
    </unit>
    <unit id="director">
        <measure>appf:director</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY18xLTEtMS0xLTA_490142c9-f261-4b27-9a0e-1fd134a56a47">0001433195</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY18zLTEtMS0xLTA_ebe3596b-2370-47cd-b1ce-5546ab1e27bd">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY180LTEtMS0xLTA_a605e808-8aa0-40ef-a95c-2fb38d033c49">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV80L2ZyYWc6NDM1MmU5ZDZkZjYzNDUwMjk2OGQwMGUyNGIwYjgzZDEvdGFibGU6OTM1MDBjNThlOWVlNDdiN2IxOTRkY2M5ODZlMWI0Y2MvdGFibGVyYW5nZTo5MzUwMGM1OGU5ZWU0N2I3YjE5NGRjYzk4NmUxYjRjY181LTEtMS0xLTA_001c0d9f-8419-4975-8c22-4308cc982516">false</dei:AmendmentFlag>
    <us-gaap:AccountingStandardsUpdateExtensibleList
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMC0xLTEtMzUzL3RleHRyZWdpb246ODU2Mzc3ZmZlY2Q3NDRlZWE1YjE5MWFkZDI0Y2FlYzdfMTA5OTUxMTYyNzg1OA_e452efe7-800b-4889-964f-c6adaf181165">us-gaap:AccountingStandardsUpdate201409Member</us-gaap:AccountingStandardsUpdateExtensibleList>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ic80291bbc9284c33abd9f2325ed5ec7f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzg_e13e4af0-ccec-4e1a-a2d9-ac59fdda846f">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde">us-gaap:OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199">us-gaap:OtherLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAz_0edff0a5-867d-43e3-aa4d-af591a29b3f6">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk3_a8db5c6f-3b1b-41f7-a7e7-c4d2bf78667f">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yNDU_d81c1ca3-e96c-41df-8a1e-2f10bed99354">2020-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yNDU_afd6710e-041e-4c6e-991b-571ba0157d68">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzA0_92385d46-365a-47cf-a1a2-75bbdcbc650e">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk4_fd12674b-551c-48ef-9b1a-0b331e34f6a1">001-37468</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzA1_ad706d9e-c82e-44cb-bd07-f782d85f2a79">AppFolio, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8wLTAtMS0xLTA_db335a80-61fb-4dcd-9db4-e6c72bbe52a2">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8wLTQtMS0xLTA_e1b6af94-3632-4966-8ee4-061f3f63d7d5">26-0359894</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV8zLTAtMS0xLTA_f74ee5c5-a092-4df8-bb7f-9dd7d1c247c7">50 Castilian Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTAtMS0xLTA_1b7b1c05-e0db-4036-af3a-78c4dfaf66ab">Santa Barbara,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTItMS0xLTA_ecaa15d1-eb22-45e0-b88c-4c7837583877">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzJhNDg4YzlkYjkzNDI0YmFmMzQyYjUzM2IzOWYwMzUvdGFibGVyYW5nZTozMmE0ODhjOWRiOTM0MjRiYWYzNDJiNTMzYjM5ZjAzNV80LTQtMS0xLTA_8b8a5e20-17e8-4af3-ad9b-23378c28f767">93117</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAw_d067e456-c041-40ce-8789-7cc60907881f">805</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk5_ca8964ac-913e-44e3-bdd9-bfd443533060">364-6093</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTAtMS0xLTA_443064fe-3c38-40e4-97fd-a58aae19d2de">Class A common stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTItMS0xLTA_37d3f937-93b4-4f28-8eb2-642488d672dd">APPF</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6NzQ5NjAwODRlYzNlNDc4YmIyZDE2NzRkMzBlNGYxN2EvdGFibGVyYW5nZTo3NDk2MDA4NGVjM2U0NzhiYjJkMTY3NGQzMGU0ZjE3YV8xLTQtMS0xLTA_13a5c1a1-0803-44cb-a54c-b0d90cde0fa2">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAx_13255fe2-af2f-457e-9bfa-b8a1a6ec2a30">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk0_5e3620c5-b704-4b42-b833-3c35c2c104cf">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80NzAy_53e31a86-b1a9-418f-8c36-f8b521cd5029">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk1_d5e4b3b5-e067-4fe4-aa74-02bc00e3c80d">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF8wLTAtMS0xLTA_7f2d2823-fc5a-4e66-a2c1-dce4c6c34e0d">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF8yLTUtMS0xLTA_bb317f89-8ac4-484f-976f-20aee292b7f5">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGFibGU6MzdkNGQ4ZWI5MjQwNDA5Njg3MzIzNTJmZTEyOGU4ZWQvdGFibGVyYW5nZTozN2Q0ZDhlYjkyNDA0MDk2ODczMjM1MmZlMTI4ZThlZF80LTUtMS0xLTA_92ca4f79-ab4b-4591-99c8-999bde155a5a">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl82NTk3MDY5NzcxNzM3_e485d4eb-fcad-4632-a24a-49cf63957793">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl80Njk2_1edbba23-7697-431f-bd06-9fda06243610">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i8e1be9b2d93544ec85d1e51b09118311_I20200630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8yODY0_4f863c91-13b0-4153-9210-123ff9935a0f"
      unitRef="usd">2870000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ied1dd92e7f9246c1a45a4070cdcbc58e_I20210215"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8zNDUx_23449625-adb3-49da-94db-e81647714abf"
      unitRef="shares">18747460</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ia6b2b6fa1d72456ba9f14cec344608ab_I20210215"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl8zNTM2_a545a2b9-86e5-4117-9d00-23cab83960f4"
      unitRef="shares">15650311</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xL2ZyYWc6MWM3YzVhM2NkYTdjNGFlMTk5NWQxZDE3N2U2ZjBjYTYvdGV4dHJlZ2lvbjoxYzdjNWEzY2RhN2M0YWUxOTk1ZDFkMTc3ZTZmMGNhNl82NTk3MDY5NzcxNzUz_62d520e1-5448-49f1-93c9-5f513e7930a0">Portions of the registrant&#x2019;s definitive Proxy Statement for the 2021 Annual Meeting of Stockholders (the &#x201c;Proxy Statement&#x201d;), to be filed with the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) pursuant to Regulation 14A not later than 120 days after the end of the fiscal year covered by this Annual Report on Form&#160;10-K (this &#x201c;Annual Report&#x201d;), are incorporated by reference in Part&#160;III, Items 10-14 of this Annual Report. Except for the portions of the Proxy Statement specifically incorporated by reference in this Annual Report, the Proxy Statement shall not be deemed to be filed as part hereof.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNC0yLTEtMS0w_b304d549-6eca-4b13-89dc-334391ade645"
      unitRef="usd">140263000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNC00LTEtMS0w_52ba2822-099f-4dbd-87cd-c8ab792337bc"
      unitRef="usd">15813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNS0yLTEtMS0w_c2aca5b1-13d4-405c-bb59-401fa418f42a"
      unitRef="usd">28256000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNS00LTEtMS0w_ced05b0f-88ec-48e0-ba65-96e200033b6b"
      unitRef="usd">22876000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNi0yLTEtMS0w_500c9fd8-acf7-4592-9972-7e7fce267f95"
      unitRef="usd">10057000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNi00LTEtMS0w_da4e7929-2318-4664-becc-5e8f19e4c802"
      unitRef="usd">7562000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNy0yLTEtMS0w_446b64dd-b3c9-4f77-bce3-1d8d56beaa8c"
      unitRef="usd">20777000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNy00LTEtMS0w_53c26033-6e6a-4157-9c5a-a39ab988eb3d"
      unitRef="usd">15540000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOC0yLTEtMS0w_f780bc2e-9a9f-4f71-92f5-4340e9ca2385"
      unitRef="usd">199353000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOC00LTEtMS0w_faf51753-45e8-4de9-a3aa-d5078517999f"
      unitRef="usd">61791000</us-gaap:AssetsCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOS0yLTEtMS0w_f7d39c41-b173-40c6-af8d-74683d62143f"
      unitRef="usd">6770000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfOS00LTEtMS0w_20314669-a171-4018-8c10-6a9ec65a7543"
      unitRef="usd">12089000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTAtMi0xLTEtMA_7de0b4a0-da1b-4645-92fa-3637213fb324"
      unitRef="usd">26439000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTAtNC0xLTEtMA_57be088c-af5e-4a28-8556-9ad4570487fb"
      unitRef="usd">14744000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTEtMi0xLTEtMA_207ad054-20f5-45e4-a307-7954a4a5d19a"
      unitRef="usd">30561000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTEtNC0xLTEtMA_72eb617b-81bb-4d38-a2df-a8c7c7e20876"
      unitRef="usd">27803000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTItMi0xLTEtMA_8ed37eae-97a5-4b85-a282-06f0376c0ff9"
      unitRef="usd">35459000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTItNC0xLTEtMA_b863ea1f-d701-4840-9cbe-5d6c30c4568b"
      unitRef="usd">30023000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:Goodwill
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTMtMi0xLTEtMA_5792e391-9f03-4782-9904-6f974007a8fd"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTMtNC0xLTEtMA_5ca4b557-9644-44aa-a85c-15978e830442"
      unitRef="usd">58425000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTQtMi0xLTEtMA_009e2827-f492-470e-b83b-da9e46e170a2"
      unitRef="usd">16357000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTQtNC0xLTEtMA_ec235741-9e30-454d-b144-fd9b882b4490"
      unitRef="usd">21377000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTUtMi0xLTEtMA_b91de538-27d2-4fd8-a5b7-2411b7875916"
      unitRef="usd">12181000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTUtNC0xLTEtMA_b79ee6f7-f21f-4d84-b6ca-3791146517e2"
      unitRef="usd">27574000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTYtMi0xLTEtMA_6eeebbff-e7df-4037-b0aa-b4d4a5973723"
      unitRef="usd">6213000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTYtNC0xLTEtMA_63573067-8887-41df-b60b-53c13709f24e"
      unitRef="usd">6276000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTctMi0xLTEtMA_890ff259-d741-4ac4-bbe4-f8cab95e17de"
      unitRef="usd">389480000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMTctNC0xLTEtMA_0c8fd11a-a2ce-4b5c-b2f8-2a11c4f37b2a"
      unitRef="usd">260102000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjAtMi0xLTEtMA_a5a0dbdc-0a06-492b-8525-c079c060933c"
      unitRef="usd">1040000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjAtNC0xLTEtMA_cf1d438e-ee26-4791-a036-3f1f8b23fd72"
      unitRef="usd">1927000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjEtMi0xLTEtMA_c5e33107-e5a5-46d5-9617-a81084dba392"
      unitRef="usd">18888000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjEtNC0xLTEtMA_1f06f187-1733-406f-8793-25c8d8d190da"
      unitRef="usd">17758000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjItMi0xLTEtMA_6ea6df8a-b5f5-4ec5-ab54-27dd41a62b27"
      unitRef="usd">14069000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjItNC0xLTEtMA_c799c963-ee49-48ee-9458-6275884c2fca"
      unitRef="usd">10833000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjMtMi0xLTEtMA_a08c1f6c-c0ec-4898-8252-c6a8a8973e66"
      unitRef="usd">2262000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjMtNC0xLTEtMA_1b5361d4-6b02-43c4-bc9d-d737765e656e"
      unitRef="usd">4600000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtMi0xLTEtMzI2_a151f931-973d-40a4-8b75-249d0019afbd"
      unitRef="usd">9095000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtNC0xLTEtMzI5_ea42d7e7-73c1-4a65-b709-213ea3e97a92"
      unitRef="usd">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtMi0xLTEtMA_ea651e7d-380a-46a9-a2b4-e266b2093955"
      unitRef="usd">4451000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjQtNC0xLTEtMA_7d71c3a8-f3b2-47be-8956-b961d00ba93f"
      unitRef="usd">11139000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjUtMi0xLTEtMA_8d0ff54f-5d99-4d31-bc4e-54df4a95b5fa"
      unitRef="usd">0</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjUtNC0xLTEtMA_d226b4d6-acf9-4a4e-b964-fd37514b2a27"
      unitRef="usd">1208000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjYtMi0xLTEtMA_2d00ea06-fcd4-4aa8-abbe-b434574a7c6c"
      unitRef="usd">49805000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjYtNC0xLTEtMA_daaa881a-2dcd-4192-9821-56e9de1d6300"
      unitRef="usd">47465000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjctMi0xLTEtMA_bd3ceb87-94e6-43cf-8d89-0ff11abf8084"
      unitRef="usd">40146000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjctNC0xLTEtMA_5fd72a9d-8b12-49c4-b613-017a36e96d6e"
      unitRef="usd">33312000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjktMi0xLTEtMA_0f43b6d3-42af-45cb-ab20-a8d1bcfd7d4e"
      unitRef="usd">0</us-gaap:SecuredLongTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMjktNC0xLTEtMA_d249f32f-f75e-402d-a4d7-9d3a7b25cd68"
      unitRef="usd">47375000</us-gaap:SecuredLongTermDebt>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtMi0xLTEtMzE0_f399a375-0e0f-4567-845c-85157b1872a1"
      unitRef="usd">13609000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtNC0xLTEtMzE4_3d860090-3ba0-4ba7-a13c-fc92575d24b7"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtMi0xLTEtMA_f3af2120-2ba5-4f93-889a-ae49f494962b"
      unitRef="usd">103560000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzAtNC0xLTEtMA_14803e52-0025-432d-a8f2-cae3449f0f9b"
      unitRef="usd">128152000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzEtMi0xLTEtMA_beab874c-e6a5-4523-8b05-f7f4fd60c45f"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzEtNC0xLTEtMA_5b0bd7cc-0676-40fc-bba4-94ef037e61ef"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5MzQ_108284c6-cd82-4453-8666-e2c61197b073"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5MzQ_f29a97cf-0c43-4201-85ea-d44b6506526d"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NDc_1f85c93a-7e00-4159-bbc3-1637f52b6921"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NDc_f25a4355-ac39-4531-a2a6-b4fffce44bda"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_1ded1ba8-7979-4a68-ad95-5fb7c1067b56"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_86e2ad0e-6c43-4003-92c0-11053b535a33"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_94064f48-c3ad-44ac-8f27-a2bca0b75f2b"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmE3Y2NkMDI3YjhlNzQzMzI4YWY4MTdiYjA3Nzg2ZmJhXzEwOTk1MTE2Mjc5NTI_b71c357d-e43e-422f-b712-704d71219199"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtMi0xLTEtMA_2900cc80-98bd-4f85-ae4b-bfb89753c79c"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzMtNC0xLTEtMA_6da82afb-9ab6-4993-894c-e172858a24cf"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMTA_133106f5-908c-4b08-bac4-670e3224e59f"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i696bcdd341204f7e81923e221017f98a_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMTA_172e1090-413a-4af7-a6e9-09a73398fef2"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjA_c6c63650-8d7f-47e3-984b-8fd32f38531c"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i696bcdd341204f7e81923e221017f98a_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjA_d84aa6e8-ecf6-426d-8902-bb53c4affa4f"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMjk_6652ec35-3f61-498f-a28f-e3aac9675f0a"
      unitRef="shares">19148000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i696bcdd341204f7e81923e221017f98a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyMzg_8340f7cd-1616-4469-a5b7-ed3ef6c3c838"
      unitRef="shares">16923000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyNDc_8ec9fa53-9457-4c14-86df-78346cb181bf"
      unitRef="shares">18729000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i696bcdd341204f7e81923e221017f98a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOmZlYTBhYTYxODc3NjQ0NzFhZDk4ZDNlNmZiMDYzNWM2XzEwOTk1MTE2MjgyNTY_02bcd4b9-5b98-4e76-9c2e-e8a6b59be3a1"
      unitRef="shares">16552000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ibe4381ea556a4f5dbfe309a4824185d7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtMi0xLTEtMA_87874676-981b-4f4d-b3b2-8e3dfd323397"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i696bcdd341204f7e81923e221017f98a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzQtNC0xLTEtMA_479c233d-d822-49bd-b3ab-0b81d57cb829"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwODY_9344e861-955e-42c0-976c-6ec92d86ea21"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwODY_bd17c895-4d3b-404a-a46a-f21c35529fc4"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwOTY_0001b926-cd9d-4dc7-9a3d-daaacea7ced5"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgwOTY_2283c938-a07c-4190-9013-0e2e604978f8"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMDU_d70348ff-97ed-4822-ab5e-e82ddb2e023a"
      unitRef="shares">15659000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMDU_d83b9d05-d274-4728-9eba-1070dcde267b"
      unitRef="shares">15659000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMTQ_af3c1139-eab4-47f0-985a-ef8ad68508ea"
      unitRef="shares">17594000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMC0xLTEtMC90ZXh0cmVnaW9uOjMxZGMzZTVhYWMyNTQ1ZTBhNTMzMTZkOTlmN2RlNzMxXzEwOTk1MTE2MjgxMTQ_e42a42fb-ec17-4298-8b9c-47f2b9493254"
      unitRef="shares">17594000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="iff665478529c4a5cbc4d81477e18f1cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtMi0xLTEtMA_74a8b4b7-aa8d-410c-965c-50888396fa5c"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ie8df2e081bbc447b804c96643bebb2b1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzUtNC0xLTEtMA_1a35fb07-6472-4561-9551-5d0c5450567d"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzYtMi0xLTEtMA_f6fb482f-6635-48a9-a905-60fb61b7ca71"
      unitRef="usd">161247000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzYtNC0xLTEtMA_ca5851d4-e4f9-488a-9299-d314d8181e6f"
      unitRef="usd">161509000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzctMi0xLTEtMA_29673dec-db62-4d4a-b035-28de33d43acb"
      unitRef="usd">56000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzctNC0xLTEtMA_987a5d9b-ef16-4b45-93b1-c12229cd8156"
      unitRef="usd">33000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjY0NmI3ZjAyMTAwYzRhMDY4ZmRjZGM3ZjkwYWFkZGU5XzEwOTk1MTE2Mjc5NTA_f0562ee9-b3ce-4879-8e24-ffaf04988b65"
      unitRef="shares">419000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjY0NmI3ZjAyMTAwYzRhMDY4ZmRjZGM3ZjkwYWFkZGU5XzEwOTk1MTE2Mjc5NTY_f56b5ed0-7612-47ce-a7c4-4b64e24e41a4"
      unitRef="shares">371000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtMi0xLTEtMA_5a5f23f8-aa64-4bda-83cc-eb7297bb7433"
      unitRef="usd">25756000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzgtNC0xLTEtMA_7ea8dc84-60ec-4f4f-8e59-d9bb473ade39"
      unitRef="usd">21562000</us-gaap:TreasuryStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzktMi0xLTEtMA_d4c96ccc-9060-47f1-95a9-5b41035b4b50"
      unitRef="usd">150369000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfMzktNC0xLTEtMA_53e653d4-6fe7-45dc-ab83-db24ecb91830"
      unitRef="usd">-8034000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDAtMi0xLTEtMA_4ea7ef25-2b1b-4f7e-91e4-3a4a48b5f9fd"
      unitRef="usd">285920000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDAtNC0xLTEtMA_0c4322ac-34c5-41e8-a866-2b3bc50fd39d"
      unitRef="usd">131950000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDEtMi0xLTEtMA_94cab6b0-6549-4c1f-b27b-eb9dd93db0da"
      unitRef="usd">389480000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83My9mcmFnOmRhNzNkYTRhMzk2NTQxOGNiOTg1MDdmYTIwZTY5YTNkL3RhYmxlOmM3N2FlOTFjNThlNzRkMTc5ZmJhNjg4ZWUxMTZjNTM2L3RhYmxlcmFuZ2U6Yzc3YWU5MWM1OGU3NGQxNzlmYmE2ODhlZTExNmM1MzZfNDEtNC0xLTEtMA_a858845d-5de8-4393-8af6-cbb0e908d903"
      unitRef="usd">260102000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi0xLTEtMS0w_02afe5cd-00fb-40e5-a3cd-fc83b6c58c0f"
      unitRef="usd">310056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi0zLTEtMS0w_3968601c-4828-487d-8b6b-ddbd994c7e0e"
      unitRef="usd">256012000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMi01LTEtMS0w_55214394-06b9-45de-9742-d749322d26aa"
      unitRef="usd">190071000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC0xLTEtMS0w_5fa7912b-9785-44c3-93a2-53a12281cc86"
      unitRef="usd">119029000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC0zLTEtMS0w_91f4dfb7-4a4c-43fe-bb54-75167641697d"
      unitRef="usd">101642000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNC01LTEtMS0w_8463d024-339d-442e-a3bf-5191abc6497d"
      unitRef="usd">73549000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS0xLTEtMS0w_9b85a68c-5c71-4fcf-b562-7d4b3f0309bc"
      unitRef="usd">58445000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS0zLTEtMS0w_35d4ff8d-a494-4e75-b82b-65ac39caf073"
      unitRef="usd">51528000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNS01LTEtMS0w_d71138b2-3673-4db2-8bb6-29ac8df93a2d"
      unitRef="usd">33288000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi0xLTEtMS0w_2679449c-2b53-403a-9761-64371a763e7e"
      unitRef="usd">48529000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi0zLTEtMS0w_91ec843c-833d-4605-a38b-30f6762b5a16"
      unitRef="usd">39508000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNi01LTEtMS0w_65c7c9dc-79bd-4269-9925-f301eb7b3784"
      unitRef="usd">24111000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy0xLTEtMS0w_679dcabc-3d9f-44da-86c8-cc4060e89298"
      unitRef="usd">47480000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy0zLTEtMS0w_5ca5f0a6-7d49-420d-876b-c4aee9723c2a"
      unitRef="usd">34478000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfNy01LTEtMS0w_c053bf1b-81d8-48bf-8f84-2bd89f03bb9e"
      unitRef="usd">24891000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC0xLTEtMS0w_1bbca884-52f0-4c81-99eb-6607eb567b9d"
      unitRef="usd">26790000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC0zLTEtMS0w_2f7d6abc-caa5-4743-ad61-ad67ac780f38"
      unitRef="usd">22395000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOC01LTEtMS0w_5abf395c-f1ad-4f01-af81-b04e9d2bb0a3"
      unitRef="usd">14576000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:CostsAndExpenses
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS0xLTEtMS0w_0b63c00b-909b-4f96-8732-5c3ac37521c5"
      unitRef="usd">300273000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS0zLTEtMS0w_e5d47525-e487-422d-bddf-d1fecf92b5ae"
      unitRef="usd">249551000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfOS01LTEtMS0w_d3011cce-5fe4-459d-9ffe-ff329957d526"
      unitRef="usd">170415000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtMS0xLTEtMA_bbcf229e-f681-4338-b24b-f168892990ec"
      unitRef="usd">9783000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtMy0xLTEtMA_adcea4fa-54d1-4005-bab9-43c878770d91"
      unitRef="usd">6461000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTAtNS0xLTEtMA_8e4f0a89-6b8a-41b7-ad7e-36be91e3935a"
      unitRef="usd">19656000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtMS0xLTEtMA_b3e0bb1a-42c6-4133-8baa-0a5179504594"
      unitRef="usd">188897000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtMy0xLTEtMA_dfde06f0-8b24-4bd4-8fbf-4679acfe0b37"
      unitRef="usd">16000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTEtNS0xLTEtMA_f629fb10-dec6-4e3e-8f69-611a2a48d14c"
      unitRef="usd">-56000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItMS0xLTEtMA_24a344ab-32c7-42d0-bc6f-30a7a80ae56b"
      unitRef="usd">-1849000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItMy0xLTEtMA_917c64a6-45bb-4711-ace7-9815068de35a"
      unitRef="usd">-1654000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTItNS0xLTEtMA_d3e83178-b5ca-4f1e-97d9-925347908c10"
      unitRef="usd">787000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtMS0xLTEtMA_91234946-bd1e-4a2e-8329-270bdf98e671"
      unitRef="usd">196831000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtMy0xLTEtMA_402e551b-ef88-477e-a296-4db37481d8dd"
      unitRef="usd">4823000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTMtNS0xLTEtMA_405c76a6-5b46-495e-869d-f508ad88c9a4"
      unitRef="usd">20387000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtMS0xLTEtMA_1691b446-24cd-4e43-b1ae-cea38f82ff5a"
      unitRef="usd">38428000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtMy0xLTEtMA_fbf69b73-4507-449f-8ec1-007e167caeaf"
      unitRef="usd">-31459000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTQtNS0xLTEtMA_5c8b9b06-e888-4085-bd67-cdcd70477b10"
      unitRef="usd">420000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtMS0xLTEtMA_f829d523-fe12-420c-a1ae-cc6187d1f0a5"
      unitRef="usd">158403000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtMy0xLTEtMA_396bd0f1-84f4-43c5-a776-dff367e9d14c"
      unitRef="usd">36282000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTUtNS0xLTEtMA_710c695d-b6f9-430f-83ec-1e7c6924f254"
      unitRef="usd">19967000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctMS0xLTEtMA_7b0c058a-483c-4956-be8b-fc8c465f911b"
      unitRef="usdPerShare">4.62</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctMy0xLTEtMA_38954c52-a210-4b24-ba0c-ffc747a062d0"
      unitRef="usdPerShare">1.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTctNS0xLTEtMA_303a9f56-3ca2-4d15-9783-cba9ebb9e911"
      unitRef="usdPerShare">0.59</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtMS0xLTEtMA_19ee3049-6740-4b82-a9fe-bb2f74e3226f"
      unitRef="usdPerShare">4.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtMy0xLTEtMA_d5ac8507-1c72-4c04-a1f9-8a5b7a5d4afe"
      unitRef="usdPerShare">1.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMTgtNS0xLTEtMA_8c4a054c-9c80-4c26-a965-2798f2c45470"
      unitRef="usdPerShare">0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtMS0xLTEtMA_a8ffae71-91c8-4023-92ba-d89403f2a8d3"
      unitRef="shares">34264000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtMy0xLTEtMA_9902583a-a035-43b5-ad33-24e32cffdaf3"
      unitRef="shares">34016000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjAtNS0xLTEtMA_173315b4-90d5-401c-b31b-72e917dae3fe"
      unitRef="shares">34128000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtMS0xLTEtMA_340da975-314b-4e31-ac27-a1479a04afe7"
      unitRef="shares">35713000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtMy0xLTEtMA_aa87c805-b57f-4c34-a6b6-8a394530c975"
      unitRef="shares">35567000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV83OS9mcmFnOjI2NjdkOGNhN2Y1ODQ1OGI5OWFlODBiNmNjYWU4ZjQ2L3RhYmxlOjI1Y2YwOGEyNDU0NjQ1YTc4MGIzNWFmZTljZjViZTk1L3RhYmxlcmFuZ2U6MjVjZjA4YTI0NTQ2NDVhNzgwYjM1YWZlOWNmNWJlOTVfMjEtNS0xLTEtMA_ef444e9a-b724-442c-99b5-53e063a5385a"
      unitRef="shares">35562000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi0xLTEtMS0w_f829d523-fe12-420c-a1ae-cc6187d1f0a5"
      unitRef="usd">158403000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi0zLTEtMS0w_396bd0f1-84f4-43c5-a776-dff367e9d14c"
      unitRef="usd">36282000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfMi01LTEtMS0w_1fdb78c8-045b-4485-af52-5880046b79b7"
      unitRef="usd">19967000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC0xLTEtMS0w_3acf8621-6fa8-4125-ba45-95042f560ca6"
      unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC0zLTEtMS0w_64032dfe-4cad-4b65-ae87-5442f7ecff85"
      unitRef="usd">211000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNC01LTEtMS0w_973b4486-4f61-4066-9ba3-bcc05922c3af"
      unitRef="usd">31000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS0xLTEtMS0w_c3168065-7070-4a79-acf6-5b673db3b99b"
      unitRef="usd">158426000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS0zLTEtMS0w_c3c370e3-7efd-460d-9349-16274f312978"
      unitRef="usd">36493000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84Mi9mcmFnOjdhMTdkMGEzZWEyODRhZDZiNDk2MzhkMjk1ZGFhYjVkL3RhYmxlOjY5ZGU4NWVhNTk2MzQxODU5NWQ3YzQ3N2RlNWM5NTRjL3RhYmxlcmFuZ2U6NjlkZTg1ZWE1OTYzNDE4NTk1ZDdjNDc3ZGU1Yzk1NGNfNS01LTEtMS0w_7a2574cc-d633-47d6-a9ec-e4e3278e7aef"
      unitRef="usd">19998000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="i7914f6f887a9464f88693d0427ccdb78_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS02LTEtMS0w_6c209527-ae50-4c06-a130-a045ffaec632"
      unitRef="shares">14879000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i7914f6f887a9464f88693d0427ccdb78_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS04LTEtMS0w_46e88d3e-3462-4105-bb15-d78b8cc68823"
      unitRef="usd">1000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i380df49aca51413db24bbf1817db8287_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xMC0xLTEtMA_3a6c33e3-bc25-4222-81a1-324ac1ee0d87"
      unitRef="shares">19102000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i380df49aca51413db24bbf1817db8287_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xMi0xLTEtMA_bcfdf066-955a-417d-8b98-98ff9f838fc7"
      unitRef="usd">3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i498f187c4bf34f47b08c411cddca983c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xNC0xLTEtMA_b0a2da8a-d93f-488d-a2af-c98a32f29606"
      unitRef="usd">152531000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib0fb2ee59e454533b485c7404c5ddf95_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xNi0xLTEtMA_abf185be-ec8c-471b-b26d-34efdedbe427"
      unitRef="usd">-209000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if29e6192a513486b813c835f1b67c375_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0xOC0xLTEtMA_c6f401a0-6611-47ee-80c6-f54a434e0de3"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4fdf7beea5e247d6a2da08d07d68f4d6_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0yMC0xLTEtMA_acf98da3-1608-4d44-845b-a826990024d6"
      unitRef="usd">-67247000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNS0yMi0xLTEtMA_ae3dfb8e-048c-401e-b175-80fac61306b6"
      unitRef="usd">85079000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi02LTEtMS0w_2c43526e-3d2d-4342-987a-2a5be861991b"
      unitRef="shares">170000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi0xNC0xLTEtMA_f0d2b629-af65-49af-ab21-cd022003fdb6"
      unitRef="usd">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNi0yMi0xLTEtMA_00dffe17-e43e-4a0b-a3b3-22442fb600e3"
      unitRef="usd">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNy0xNC0xLTEtMA_eb3e9c3c-6168-4a88-8fc8-d69191d769eb"
      unitRef="usd">7187000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfNy0yMi0xLTEtMA_6e1cc4a5-9ffe-45e0-ba6c-e7fa13890a8d"
      unitRef="usd">7187000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC02LTEtMS0w_f4ee3076-d252-492a-aa5d-244e8b58dd32"
      unitRef="shares">113000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC0xNC0xLTEtMA_4e3e41be-fde1-4451-bdc6-168c6dd7d9e4"
      unitRef="usd">-2890000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOC0yMi0xLTEtMA_1d4ddeeb-59a7-46d9-b9d0-65e018dc4744"
      unitRef="usd">-2890000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="idf42afbf9088434abc9cde73af39ad09_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOS0xNC0xLTEtMA_3f91ac46-b1e9-4936-94c7-6bf599d675c2"
      unitRef="usd">35000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfOS0yMi0xLTEtMA_ac1f4666-3703-436b-a3e2-90d43d442adf"
      unitRef="usd">35000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtNi0xLTEtMA_bea26a96-b31c-436b-8085-a1e470b70ffb"
      unitRef="shares">-993000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtOC0xLTEtMA_976aa87a-4b26-49bf-9a77-cfae0bfa32f6"
      unitRef="usd">-1000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMTAtMS0xLTA_7c7f7c4c-5eaa-43b4-835e-eb1e081abb01"
      unitRef="shares">993000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="id0400705499b4ba6aa92d0b3e52a34cc_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMTItMS0xLTA_6bf516a1-b97e-4e36-8a0e-28e0a67534b7"
      unitRef="usd">1000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTAtMjItMS0xLTA_b23a2b1b-7def-4853-b08e-f28ccf726abf"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTEtNi0xLTEtMA_06091b1c-b26e-494e-85a7-5e21b25ebbda"
      unitRef="shares">5000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTEtMjItMS0xLTA_a7df0a0b-a49e-423c-b99a-9c4a6a529632"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i3a21f7a26f324477a23e1b00e3de6acf_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTItMTYtMS0xLTA_3178863a-694d-4594-9fc9-7935ff37f2a3"
      unitRef="usd">31000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTItMjItMS0xLTA_04843e72-fbb7-4f77-8469-0d4be39252f1"
      unitRef="usd">31000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ia66de228f69146c68d932a63d592f037_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtNi0xLTEtMzYz_72297502-2c4b-410b-97ef-d1cb30f55077"
      unitRef="shares">371000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ie78d128f448f42b59f0c10b1987488ab_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTgtMS0xLTM5NQ_87c8b074-1f49-4a34-bb2f-59d6c1b46a27"
      unitRef="usd">21562000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjItMS0xLTQwNQ_4426410e-cdd7-4e83-a923-743be75d2e0b"
      unitRef="usd">21562000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockholdersEquity
      contextRef="i4f9a14399d354f778d02a86329cf3648_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjAtMS0xLTQwMA_38c85b4d-3f53-4bce-b904-08ec8807bcb9"
      unitRef="usd">2964000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iec0a0a7e74c54db6a03735eb3abc8ecc_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjItMS0xLTQwNQ_c55e215d-3e66-4929-af32-225c0affa664"
      unitRef="usd">2964000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i6069f181c51a415493981b96f64e2255_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjAtMS0xLTQwMA_47a40d95-f754-4953-a007-18d92c7d8b61"
      unitRef="usd">19967000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjItMS0xLTQwNQ_883491cc-37a6-403f-94e1-4d357376bfd6"
      unitRef="usd">19967000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i8d5709137fe94ae29243529a3254cedd_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtNi0xLTEtMA_4d18030d-c5a1-444f-b92f-17bcab89222d"
      unitRef="shares">15789000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i8d5709137fe94ae29243529a3254cedd_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtOC0xLTEtMA_7f3f8da8-6b94-4ee7-a571-ff3385d884b2"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i4867c6353b784ddda2975953bb82525f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTAtMS0xLTA_f05a62b5-754f-4bd2-a2ee-b2e182824cf1"
      unitRef="shares">18109000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4867c6353b784ddda2975953bb82525f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTItMS0xLTA_ad005354-cb85-44ac-96ca-72f519a1301a"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5c4d95a6966e422a919bfb5999cbf7fc_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTQtMS0xLTA_6ccc6724-0b26-4b79-8bf5-6c747b977bac"
      unitRef="usd">157898000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i942745ea801a453f9a257557fb01f52d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTYtMS0xLTA_eca2bae5-8ef9-4646-8ed9-2b06bc527adc"
      unitRef="usd">-178000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i791194c060134928b768659ecb27b02b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMTgtMS0xLTA_97f1b114-4bbd-4821-a9a2-a4bc9c93ab2f"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idc7d4eeeecff419bb9e2bfa4f8aa1a5b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjAtMS0xLTA_fa946d19-931c-424e-9813-85783543b287"
      unitRef="usd">-44316000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTMtMjItMS0xLTA_2d495329-e3f9-44b0-8bb0-d69b5ea129d4"
      unitRef="usd">91846000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtNi0xLTEtMA_d1d8ce79-017a-47e7-be86-c1ddeb4568a7"
      unitRef="shares">120000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMTAtMS0xLTA_46834588-5206-4e50-880c-6069dba942be"
      unitRef="shares">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMTQtMS0xLTA_dee8524e-436e-44f9-a8d1-3d325d6e70db"
      unitRef="usd">553000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTQtMjItMS0xLTA_615f69b8-5cf9-42b0-919f-5338da4ec780"
      unitRef="usd">553000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMTQtMS0xLTA_e42a453b-0953-4e56-8e95-38ee64570106"
      unitRef="usd">8985000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTUtMjItMS0xLTA_f8110b0d-ceb7-4769-a185-bee0e4172bff"
      unitRef="usd">8985000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtNi0xLTEtMA_d3fda4f9-bb81-4563-b641-96c3d3f0ff9d"
      unitRef="shares">123000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtMTQtMS0xLTA_8178490a-09da-4c48-b9d0-3f7081807cae"
      unitRef="usd">-5933000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTYtMjItMS0xLTA_b32507ac-311d-45f1-a7c0-8d745b172f4f"
      unitRef="usd">-5933000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="i354c2585bf144804a5bb15401a0002e2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTktMTQtMS0xLTA_b4b1d5b4-53dd-4b52-9461-9bf4a39e25f5"
      unitRef="usd">6000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMTktMjItMS0xLTA_3cc38ec6-e87f-43d1-b38b-f5b0d31b54fd"
      unitRef="usd">6000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtNi0xLTEtMA_47051439-0998-47ba-b324-ba505c6cdf6c"
      unitRef="shares">-515000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i7dbaf7d9006844cbbb1962be43a3b7b9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtMTAtMS0xLTA_d5a71d04-1002-45a3-9733-f615e03ea351"
      unitRef="shares">515000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjAtMjItMS0xLTA_ad3e75a1-ecb4-43cc-bf10-346d32024670"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i2f7a043449ac46d590ef12acaf798ce2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjEtNi0xLTEtMA_b550d88e-b4cd-494d-9f06-49f30928b430"
      unitRef="shares">5000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjEtMjItMS0xLTA_fcf6a36d-4d76-4b91-a9a1-d8b81ec8ce73"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i2ffe2487696b4ef8ae9895d1f3e60e2d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjItMTYtMS0xLTA_26e84868-c50f-4b44-a195-5be7de337b9e"
      unitRef="usd">211000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjItMjItMS0xLTA_49ca4537-baa3-4e88-af79-bcf843457a4c"
      unitRef="usd">211000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="ia17898eab0a84e86af4f2838bb075bc8_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjQtMjAtMS0xLTA_87b7dc4e-138e-4ef1-8c0d-1556c6a1611f"
      unitRef="usd">36282000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjQtMjItMS0xLTA_f34b4dc8-a33a-41c4-9305-33ca27cb298b"
      unitRef="usd">36282000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ie1f2fd74e7814953a98976e1522397f3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtNi0xLTEtMA_6338827c-711e-4862-bda5-c4dbe400a5bb"
      unitRef="shares">16552000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ie1f2fd74e7814953a98976e1522397f3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtOC0xLTEtMA_f201b023-317b-44f5-a64b-d7ab20d1a123"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i2eceb2a67816475f9495f49c45469f2c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTAtMS0xLTA_7e640218-75df-440e-8a1c-449357bc08be"
      unitRef="shares">17594000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i2eceb2a67816475f9495f49c45469f2c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTItMS0xLTA_c477b0e1-3e22-49af-9cca-b1e37157bd33"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i98e2ea9866cd4d27921474d613e42da0_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTQtMS0xLTA_1d896ca6-f3af-4e2e-b3c1-7ad63f981d47"
      unitRef="usd">161509000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3f2bc66ba866450fb4937f02eafd39f7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTYtMS0xLTA_873cae92-b786-4264-83f8-a161b4dc0187"
      unitRef="usd">33000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if4ee326334da492e92b01dc1a3d4ae35_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMTgtMS0xLTA_7f525859-2b51-49a6-bcee-887c1806175f"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1fbc00c8aa2048a4b08a253ab945d669_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMjAtMS0xLTA_67b5d6c9-3ab7-4a25-8af0-86fc848e6250"
      unitRef="usd">-8034000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjUtMjItMS0xLTA_575f1753-8d84-4941-a41b-e439f8b73250"
      unitRef="usd">131950000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtNi0xLTEtMA_74a17207-7c5e-4a97-981c-ba74151d81c7"
      unitRef="shares">106000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="if51c7056a1e3488ba6078db402a630de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMTAtMS0xLTA_ebb398d0-42dc-41fc-a697-993bf974023d"
      unitRef="shares">13000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMTQtMS0xLTA_1afae530-37fa-4773-a2a2-02f69fe5b542"
      unitRef="usd">822000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjYtMjItMS0xLTA_b7fce93a-cea6-4c65-a621-2925d4777e3b"
      unitRef="usd">822000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjctMTQtMS0xLTA_4b76da5e-df4b-4afa-be49-bd83d87cb75a"
      unitRef="usd">11112000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjctMjItMS0xLTA_14b0a965-31ba-4ec6-a2c5-ee7649b2f8f7"
      unitRef="usd">11112000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtNi0xLTEtMA_4448a3d3-0142-4cf7-8d1e-d3a37c6b3abd"
      unitRef="shares">166000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i648786f29a0c4eab8f7bec7d3ec86876_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtMTQtMS0xLTA_6b3777bc-ad72-4d12-b1bc-b96ac246c2aa"
      unitRef="usd">-12196000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMjgtMjItMS0xLTA_b4be63fb-b2b1-485a-8fde-0507dace2217"
      unitRef="usd">-12196000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtNi0xLTEtMA_5acf366f-5731-4e57-9d5d-b1b320971278"
      unitRef="shares">-1948000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="if51c7056a1e3488ba6078db402a630de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtMTAtMS0xLTA_0d5ddbba-3f58-4ffc-9a56-6eb70c95c036"
      unitRef="shares">1948000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzAtMjItMS0xLTA_4eb45206-276e-4995-bd72-edf852a6fe48"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzEtNi0xLTEtMA_94b5f84b-8337-4bbb-98b0-4c4f79461da3"
      unitRef="shares">5000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzEtMjItMS0xLTA_43ee5648-2768-4e02-a813-76187435afea"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ib90028dcbf22490dbcf8b9384e259871_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzItMTYtMS0xLTA_7f61efec-09b2-4f5a-8e7f-c6d0a06e815c"
      unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzItMjItMS0xLTA_50db56aa-2e94-4247-98b4-801b4dea00cf"
      unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i6eeb1f13b2194de59269c30d1f5e4d1b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtNi0xLTEtMA_715a14d3-44fc-4a87-9c39-3d7ab09685d7"
      unitRef="shares">48000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i14449d34ed1b478492c96facf4421275_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtMTgtMS0xLTA_1927ceba-d5c0-4832-83dc-bc56896eed42"
      unitRef="usd">4194000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzMtMjItMS0xLTA_35982b93-32c9-4901-8c1f-2e6b4aa34de9"
      unitRef="usd">4194000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:NetIncomeLoss
      contextRef="i18e3341bbce74544a9b308931cf2782f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzQtMjAtMS0xLTA_59751d7a-e232-40cf-82db-a5206fbfc7fd"
      unitRef="usd">158403000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzQtMjItMS0xLTA_b77ac4fe-1f80-43fc-951a-ca31209a3f0b"
      unitRef="usd">158403000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i7537d46876a24976951eb2e446da87ae_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtNi0xLTEtMA_ced90dd0-763b-4c06-8ee5-818a17083e0c"
      unitRef="shares">18729000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i7537d46876a24976951eb2e446da87ae_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtOC0xLTEtMA_59476cdf-bd68-4fa1-868b-f9b4711af32b"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTAtMS0xLTA_44d54d70-23ea-4310-bb4d-98e17304a252"
      unitRef="shares">15659000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i85ed74d7b77a4a9f8e3c6d1dd9cefac9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTItMS0xLTA_42072e67-65fb-4ec4-bd56-2ff316dde307"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="icc5bc645dca9426a878a741c849c2024_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTQtMS0xLTA_8d595b62-1af1-4987-9730-b38be73a2e9e"
      unitRef="usd">161247000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8c0c53063e34fd0b5d0a014a3b311a7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTYtMS0xLTA_1e2a716e-0f75-4a61-8ec5-fb5686654596"
      unitRef="usd">56000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic9339f252af746089527f092369d643f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMTgtMS0xLTA_dc8ce700-bbd2-4876-ab61-be2fe18052d3"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia838a71712074d6a982bc46c2fe29970_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMjAtMS0xLTA_9cfefa2f-8b74-4aa6-a82e-df2eb7cae0b6"
      unitRef="usd">150369000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84NS9mcmFnOmE3ZDM1NTUwZTgzNDQ1ZWFhMzBmNzNhZGUyZTJiYTBhL3RhYmxlOmE1N2UwZjY3ZDM5MDQxYjNhMzljMTEzNTk5M2JmMTllL3RhYmxlcmFuZ2U6YTU3ZTBmNjdkMzkwNDFiM2EzOWMxMTM1OTkzYmYxOWVfMzUtMjItMS0xLTA_a6445b54-24af-4e34-ab38-53f3b8428d28"
      unitRef="usd">285920000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy0xLTEtMS0w_561dabd5-1d75-4bad-a0ee-8c8ca77216ef"
      unitRef="usd">158403000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy0zLTEtMS0w_c99645bd-a8ae-4f38-b110-8e659b30ca90"
      unitRef="usd">36282000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMy01LTEtMS0w_a67e2f04-7967-49f5-b918-000e5e1397ae"
      unitRef="usd">19967000</us-gaap:NetIncomeLoss>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS0xLTEtMS0w_558fb7f1-fe4f-44c1-a066-4237ac778962"
      unitRef="usd">26790000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS0zLTEtMS0w_a5c8bbc3-b0bb-47bb-a5d4-eca85490790c"
      unitRef="usd">22395000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNS01LTEtMS0w_6734d3e5-5d19-4a42-ba19-049352ea616b"
      unitRef="usd">14576000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi0xLTEtMS0w_3952991e-5333-41c2-815b-7136ebfdf41f"
      unitRef="usd">3701000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi0zLTEtMS0w_5e5f1fd2-db2c-4084-8806-b046a967252b"
      unitRef="usd">4130000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNi01LTEtMS0w_6da919ae-4d26-474a-9241-748e91fa211c"
      unitRef="usd">0</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0xLTEtMS00NzA_bf77425f-f746-4540-a200-0b8869660043"
      unitRef="usd">29002000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0zLTEtMS00NzA_8405a74c-9142-4e2d-ace6-01d774a2103c"
      unitRef="usd">-31455000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy01LTEtMS00NzA_fa30246d-bf7c-468f-9939-bd1f8196b9d6"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ShareBasedCompensation
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0xLTEtMS0w_99297065-8175-49cd-940f-d1146445eef2"
      unitRef="usd">9025000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy0zLTEtMS0w_19d67efe-0237-450d-980c-e8aa8834204a"
      unitRef="usd">7309000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNy01LTEtMS0w_ddf4adc4-a4be-41c4-9629-127696ae7fd3"
      unitRef="usd">6337000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC0xLTEtMS0w_99746b66-44a3-4c89-95e6-4e776aef9121"
      unitRef="usd">187658000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC0zLTEtMS0w_074a5902-82cf-4aca-b7cf-997a61732f9d"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOC01LTEtMS0w_a5c518d2-e2e9-463f-baa6-7c1f8f9d64e0"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS0xLTEtMS0w_88c36de4-6c81-44fd-86b9-3a5b0733e224"
      unitRef="usd">-125000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS0zLTEtMS0w_11e2d391-a9e1-4fb2-b60b-bd5d821010a6"
      unitRef="usd">-32000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfOS01LTEtMS0w_af84bcc0-9324-417d-9b63-c281e0697c89"
      unitRef="usd">-224000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtMS0xLTEtMA_782c6883-e6ef-453a-90e3-25c0e3d63957"
      unitRef="usd">2782000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtMy0xLTEtMA_19c5255e-54d5-4d34-a829-2b80131ac197"
      unitRef="usd">2031000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTEtNS0xLTEtMA_bfd5ebc5-11a2-47f1-b65e-c277a110dcfe"
      unitRef="usd">908000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItMS0xLTEtMA_7dd74443-40f1-45d5-9b1d-45360127538f"
      unitRef="usd">5894000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItMy0xLTEtMA_99d093be-a297-421b-8221-77c4a5f27eb1"
      unitRef="usd">4031000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTItNS0xLTEtMA_27bd8a20-50c9-4e56-a589-6efc12760cc3"
      unitRef="usd">6073000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtMS0xLTEtMA_aa563d3f-e79b-476d-9c16-5e9db5c59201"
      unitRef="usd">519000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtMy0xLTEtMA_ccccc3ce-393c-4d35-8d03-f52be16edbcb"
      unitRef="usd">-1376000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTMtNS0xLTEtMA_c885ecaf-98eb-4bcf-94e0-e0debd05b040"
      unitRef="usd">4447000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtMS0xLTEtMA_665a3863-ad5f-4107-ba35-2898edbb528f"
      unitRef="usd">-903000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtMy0xLTEtMA_bef11192-059c-4bf8-9742-9f885da7ea4c"
      unitRef="usd">511000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTQtNS0xLTEtMA_cefc65c8-0245-4e2f-a358-ba4d2e9e7ea6"
      unitRef="usd">614000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtMS0xLTEtMA_5f0ebfd2-45d4-48e5-aecc-c9900e45f05b"
      unitRef="usd">2799000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtMy0xLTEtMA_8f5d8e9a-6930-4af1-85f5-32592f4dba2c"
      unitRef="usd">4542000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTUtNS0xLTEtMA_91f4c3ed-6384-431f-b11a-ca11bcb01a3c"
      unitRef="usd">1219000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtMS0xLTEtMA_1f0148eb-b767-4c70-832f-d2d01765e151"
      unitRef="usd">6878000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtMy0xLTEtMA_b7994311-abed-46be-acd6-1dd59756c586"
      unitRef="usd">55000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTYtNS0xLTEtMA_8a7ae94d-2712-4248-8a30-9bf1e0677c4b"
      unitRef="usd">3281000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctMS0xLTEtMA_15987639-7603-443e-8d03-f10f00df6aea"
      unitRef="usd">530000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctMy0xLTEtMA_05fb27e4-38b6-46da-af28-9e76d8b441fc"
      unitRef="usd">1193000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTctNS0xLTEtMA_20abd0fd-0705-494d-bd5d-0e85445046a4"
      unitRef="usd">-4589000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtMS0xLTEtMA_46431b74-845c-45f6-bbba-935bbd4fdbaf"
      unitRef="usd">-564000</appf:IncreaseDecreaseInOperatingLeases>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtMy0xLTEtMA_ce498f76-788f-4431-ab55-9f7536b5bd9b"
      unitRef="usd">-2662000</appf:IncreaseDecreaseInOperatingLeases>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTgtNS0xLTEtMA_be50124d-c26b-469b-b6b1-13165bdbff18"
      unitRef="usd">0</appf:IncreaseDecreaseInOperatingLeases>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktMS0xLTEtMA_36e918ee-e37c-4052-805a-e164bf38a80d"
      unitRef="usd">9366000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktMy0xLTEtMA_1739ab4d-98bf-4daf-b23f-63fd12b8ce39"
      unitRef="usd">1241000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMTktNS0xLTEtMA_e66321a9-d423-4ae8-835e-b29f8f2e1fa2"
      unitRef="usd">6067000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtMS0xLTEtMA_597208f1-b92d-4053-8426-15eafa199afb"
      unitRef="usd">48299000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtMy0xLTEtMA_cefb0eea-62b0-4c22-963e-476c84a14e72"
      unitRef="usd">38887000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjAtNS0xLTEtMA_9301aee1-17d1-47bf-b10b-a3776a961717"
      unitRef="usd">36268000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMS0xLTEtNDg1_96d38e1b-dca4-4ae9-8a84-2c60bc14c688"
      unitRef="usd">43877000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMy0xLTEtNDg1_e17bf93e-5813-43e5-9cab-7b8809d37842"
      unitRef="usd">25198000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtNS0xLTEtNDg1_5021fd7b-b061-4bec-92f4-174d1d652c97"
      unitRef="usd">29516000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMS0xLTEtNDg4_b1f738aa-8bb3-425f-a07f-29238a6c0ada"
      unitRef="usd">16711000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMy0xLTEtNDg4_3c3fb816-8c3b-42de-b07c-e20212cf34a5"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtNS0xLTEtNDg4_6ef845c7-4acd-4e9a-b340-71e07934fd76"
      unitRef="usd">20900000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMS0xLTEtNDky_9585d0dc-2486-4a6f-aafa-72009077d27c"
      unitRef="usd">27330000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMy0xLTEtNDky_b809e478-b599-4638-9446-19de92fe888f"
      unitRef="usd">15660000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtNS0xLTEtNDky_ca201dc2-84d2-468b-8f81-767941dfe72a"
      unitRef="usd">32819000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItMS0xLTEtMA_acc94eeb-2bde-4840-9903-3463e8d0b661"
      unitRef="usd">19038000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItMy0xLTEtMA_fa35d802-e76b-4c34-9efc-b997bd3387ef"
      unitRef="usd">8084000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjItNS0xLTEtMA_14330f9d-000d-4431-b232-4c9ce96367e9"
      unitRef="usd">2102000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMS0xLTEtMA_0cc8bdb5-79de-4fa3-b494-a1ee693c3492"
      unitRef="usd">26042000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtMy0xLTEtMA_bfb42855-ec9f-45fa-9ddb-8a0fad3f3dac"
      unitRef="usd">20998000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjMtNS0xLTEtMA_c34a9a88-3721-401a-be46-20b87b9c396a"
      unitRef="usd">12304000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMS0xLTEtMA_f40b4acf-f828-4b55-978c-162da5aee93d"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtMy0xLTEtMA_0a07a9f8-baea-4038-a794-e2b24ff328cb"
      unitRef="usd">54004000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjQtNS0xLTEtMA_31d89dad-4eeb-43a7-8ffa-7cbc4a2c2e26"
      unitRef="usd">14441000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMS0xLTEtMA_251ed822-bb9d-400e-9970-29ce6a3a7064"
      unitRef="usd">191427000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtMy0xLTEtMA_6bd253c6-9ccf-4ef9-a72e-c6b021f5c7c6"
      unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjUtNS0xLTEtMA_faad3ca7-24ad-4a5d-88cb-1bb4bf70c2d4"
      unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktMS0xLTEtMA_5a9f25c5-2aa6-476f-90a9-693593ce1d98"
      unitRef="usd">146511000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktMy0xLTEtMA_7c802a66-6068-497b-ae20-1c5f90eed6ca"
      unitRef="usd">-89874000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMjktNS0xLTEtMA_8a120294-710a-4c7b-934d-cd13bfd70459"
      unitRef="usd">-4644000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtMS0xLTEtMA_3058375b-c74a-4c2e-967c-3007eedb0103"
      unitRef="usd">822000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtMy0xLTEtMA_78e84e59-4753-4677-b5f1-0319bc2fd9dd"
      unitRef="usd">553000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzEtNS0xLTEtMA_a046b75a-e9f3-44ee-9c5e-0782ed44ea38"
      unitRef="usd">1035000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtMS0xLTEtMA_4eae1af7-4f6b-4a1b-b4fb-a60f73b34f5b"
      unitRef="usd">12196000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtMy0xLTEtMA_6f1f4ff2-6b97-474c-b986-406011369923"
      unitRef="usd">6155000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzQtNS0xLTEtMA_605a0470-5926-4421-9b9c-c02fe3310b56"
      unitRef="usd">3127000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctMS0xLTEtNTE2_755ed3c7-8ba9-4b5f-91b7-bf459b86eb59"
      unitRef="usd">5977000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctMy0xLTEtNTE2_a74c715b-8b06-4204-a089-ff8b9926d0ba"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzctNS0xLTEtNTE2_b68d783c-c8ce-4fb6-90f2-d5ee28f932ac"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMS0xLTEtNTIw_0057f830-f698-4af9-99c3-a89af470db30"
      unitRef="usd">50752000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMy0xLTEtNTIw_94bf0c3d-1f3b-4b04-941e-895c1870ee2a"
      unitRef="usd">2169000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtNS0xLTEtNTIw_b6a40b17-5a5d-4344-ada8-9558de69d9f9"
      unitRef="usd">50138000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktMS0xLTEtNTIw_67deda97-9134-45bd-800a-e4424c5eed5a"
      unitRef="usd">99565000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktMy0xLTEtNTIw_5982e634-61b9-4c43-a818-9e888e6d3402"
      unitRef="usd">3419000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzktNS0xLTEtNTIw_afe80588-da13-42ca-a6ed-fc1ecbcf1be6"
      unitRef="usd">138000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtMS0xLTEtNTIw_66897df5-c614-4bd4-b6f3-97da165119b6"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtMy0xLTEtNTIw_31f564d9-67cd-46bd-a7c4-bc801ed94474"
      unitRef="usd">420000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDAtNS0xLTEtNTIw_105c4529-28dd-44a9-9236-13d1725f92d0"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMS0xLTEtMA_577c9069-4b23-42b5-8975-cb70a3407637"
      unitRef="usd">4194000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtMy0xLTEtMA_c16f3f02-07db-43f6-a845-b483ba86c36c"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfMzgtNS0xLTEtMA_82a3789c-91b1-49bb-8f54-d527b9c323bd"
      unitRef="usd">21562000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMS0xLTEtMA_ddb821f7-ee8e-4bc6-9d79-76771151abd9"
      unitRef="usd">-70358000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMy0xLTEtMA_eb517f3f-5dfa-4bac-a8e9-644de0bcd7aa"
      unitRef="usd">-7272000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtNS0xLTEtMA_dc5d7844-0af6-4db9-b982-f5369cf48ce1"
      unitRef="usd">26346000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMS0xLTEtOTU3MA_286f8f53-ca16-4bac-acc1-c07c6c5513de"
      unitRef="usd">124452000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtMy0xLTEtOTU3MA_3ca38561-a8ac-4564-8952-2fcac603ef70"
      unitRef="usd">-58259000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDMtNS0xLTEtOTU3MA_54bbf20c-f9e7-4bbd-a9a1-58f3adc78934"
      unitRef="usd">57970000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtMS0xLTEtOTU3OA_fa2b1dca-13f0-48c3-8bbe-1ecfaf760ac7"
      unitRef="usd">16247000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtMy0xLTEtOTU3OA_cd75430e-9125-4f9b-b774-3a66aa016e54"
      unitRef="usd">74506000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDUtNS0xLTEtOTU3OA_90b4c95f-917a-46fb-9cbd-cd273cdd2bf5"
      unitRef="usd">16536000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtMS0xLTEtOTU3OA_c0defadb-c697-4f6c-8f49-8a26d1113c6e"
      unitRef="usd">140699000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtMy0xLTEtOTU3OA_d7a2a18b-c5aa-4fc3-8bbb-a3b4bb31e9d7"
      unitRef="usd">16247000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNDYtNS0xLTEtOTU3OA_88e610dc-996a-47ba-b943-8414180cff23"
      unitRef="usd">74506000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtMS0xLTEtMA_073f168b-a7a3-4769-aa76-31381cae4188"
      unitRef="usd">1815000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtMy0xLTEtMA_50fc6819-e4df-418a-9645-392c3f244331"
      unitRef="usd">2169000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTYtNS0xLTEtMA_426261c6-b200-49ca-81a2-4153b98e63b5"
      unitRef="usd">118000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctMS0xLTEtMA_75a53d3b-0f13-4dde-b794-846d8f93ef83"
      unitRef="usd">85000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctMy0xLTEtMA_3ad74ffa-0aaf-405d-a87d-30c08f1af064"
      unitRef="usd">545000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNTctNS0xLTEtMA_0f9c853c-50d0-446f-a213-dd8dbdb4bc31"
      unitRef="usd">82000</us-gaap:IncomeTaxesPaid>
    <us-gaap:OperatingLeasePayments
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMS0xLTEtNzU5Mg_59832228-c638-4d7b-b2ad-1e3d60565505"
      unitRef="usd">2198000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMy0xLTEtNzU5Mg_30621033-9330-4029-9718-e8ce58408a6d"
      unitRef="usd">5007000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMS0xLTEtNzU5Mg_73cb1b3f-cd72-4e91-be7d-769905994d5e"
      unitRef="usd">6644000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMy0xLTEtNzU5Mg_54336fdd-1cd8-4bfc-ade9-a9807044fece"
      unitRef="usd">14986000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMS0xLTEtMA_145205e3-065f-4bb9-9061-6405a9d2efa7"
      unitRef="usd">370000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtMy0xLTEtMA_dec3cbb0-ca73-4577-bb06-d996564ce50b"
      unitRef="usd">3447000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjAtNS0xLTEtMA_d9a82898-f322-4d46-96c2-2ca56408d66f"
      unitRef="usd">518000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMS0xLTEtMA_0d5983a7-8d85-431a-9bdb-301a61daa533"
      unitRef="usd">383000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtMy0xLTEtMA_ca94171c-c7d2-4f41-9441-595f2747c9f6"
      unitRef="usd">1187000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjEtNS0xLTEtMA_fd8df21e-ace8-4e38-b791-a586f4c6d93f"
      unitRef="usd">825000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItMS0xLTEtMA_ff34f5f2-88e2-497a-aad6-cd42325b7128"
      unitRef="usd">2087000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItMy0xLTEtMA_826bc353-9036-44be-8c97-c6402589c42e"
      unitRef="usd">1844000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjItNS0xLTEtMA_3f49c6f0-5124-4a74-9649-f540189e9247"
      unitRef="usd">1087000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <appf:BusinessCombinationConsiderationAccruedButNotYetPaid
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtMS0xLTEtMA_f65ff69b-6e5a-4463-baed-6e1cc4105574"
      unitRef="usd">0</appf:BusinessCombinationConsiderationAccruedButNotYetPaid>
    <appf:BusinessCombinationConsiderationAccruedButNotYetPaid
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtMy0xLTEtMA_7f77a049-a939-400b-8d65-5be1997e1e54"
      unitRef="usd">5977000</appf:BusinessCombinationConsiderationAccruedButNotYetPaid>
    <appf:BusinessCombinationConsiderationAccruedButNotYetPaid
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjMtNS0xLTEtMA_e75ee41b-7333-42ac-923d-0d086594f985"
      unitRef="usd">0</appf:BusinessCombinationConsiderationAccruedButNotYetPaid>
    <us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtMS0xLTEtMA_4e429cc9-a33c-4393-a47d-2561f01d5ff1"
      unitRef="usd">0</us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction>
    <us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtMy0xLTEtMA_011dc12e-94e3-4596-835a-648afee8b81e"
      unitRef="usd">0</us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction>
    <us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjE0N2Q2ZjQ4NTQ3NzRjMjViNTA3ZTc4MTM4NDRiOTI1L3RhYmxlcmFuZ2U6MTQ3ZDZmNDg1NDc3NGMyNWI1MDdlNzgxMzg0NGI5MjVfNjUtNS0xLTEtMA_881ae55a-7abd-4c89-a7b8-ec08d19222eb"
      unitRef="usd">371000</us-gaap:DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi0xLTEtMS0w_00b26cb2-6a0a-4ddf-83de-55eeec663a93"
      unitRef="usd">140263000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi0zLTEtMS0w_414a23bd-321c-4c7c-8468-805549054d5a"
      unitRef="usd">15813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMi01LTEtMS0w_4074b35a-8d23-4e56-809a-5104936cafb1"
      unitRef="usd">74076000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy0xLTEtMS0w_3f726367-2f1c-475c-8e4c-37a925d4f32a"
      unitRef="usd">436000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy0zLTEtMS0w_bb082be9-3f58-4cc1-bf51-7ae40ec56716"
      unitRef="usd">434000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfMy01LTEtMS0w_eb290441-ecd1-4a28-8329-29e0e195edd6"
      unitRef="usd">430000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC0xLTEtMS0w_943bf59c-3c19-4795-b61e-8d70edc3d01f"
      unitRef="usd">140699000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC0zLTEtMS0w_415239a3-6913-48a8-97d2-6dc229bb1bb9"
      unitRef="usd">16247000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV84OC9mcmFnOmFmNGIzYjZiNThkZTQ1Mzc4NGJmMzMwZDcxYTRiN2RlL3RhYmxlOjY4NjFlNWQ2NmEyYzQxYTJiNTQ1YTQ2YTE4MGNkM2M2L3RhYmxlcmFuZ2U6Njg2MWU1ZDY2YTJjNDFhMmI1NDVhNDZhMTgwY2QzYzZfNC01LTEtMS0w_60a74d38-da22-45e6-8157-4642090bc9c0"
      unitRef="usd">74506000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMjAxMA_3d42ca7a-cfdd-42a5-bb1f-4e16f08b5ec6">Nature of Business&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;AppFolio, Inc. ("we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our industry-specific, cloud-based solutions are used primarily by property managers, and also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and their business ecosystems and a system of intelligence designed to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.&lt;/span&gt;&lt;span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt; &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;Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, 2019 and 2018, our revenue was $310.1 million, $256.0 million and $190.1 million, respectively of which $284.7&#160;million, $231.1&#160;million and $172.4&#160;million, respectively, are derived from our software and services offered to the real estate vertical. During certain periods covered by this Annual Report, we also provided software solutions and services to the legal vertical.&lt;/span&gt;&lt;/div&gt;On September 30, 2020, we completed our divestiture of 100% of the issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided such legal practice and case management software solutions to our legal customers. We sold MyCase to Mockingbird AcquisitionCo Inc., a Delaware corporation (&#x201c;Buyer&#x201d;) affiliated with funds advised by Apax Partners LLP, for $193.0&#160;million pursuant to a Stock Purchase Agreement, dated September 7, 2020 (the &#x201c;Purchase Agreement&#x201d;), by and among Buyer, us and MyCase (the &#x201c;MyCase Transaction&#x201d;). In connection with the closing of the MyCase Transaction, and in accordance with the terms of the Purchase Agreement, we entered into certain ancillary agreements with MyCase, including relating to certain post-closing transition services to be provided by us to MyCase at fair market value, as well as an intellectual property licensing agreement for certain software and patents for which no ongoing licensing fees will be received. We recognized a pre-tax gain on the sale of $187.7&#160;million on the MyCase Transaction.</us-gaap:NatureOfOperations>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg1NQ_6c1cb365-d486-4c8e-a01f-bb24ee9b5fae"
      unitRef="usd">310100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg2Mg_d96c39f2-328b-464c-b2e8-7e938c22b831"
      unitRef="usd">256000000.0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTY0MTg2OQ_9eeb5ff7-294c-480c-b81c-6ba51be2d8e2"
      unitRef="usd">190100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia520f44bc1bd4a69967d96420c544e6b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMwNw_7a3f35a4-7a28-40c3-8e7a-d9c13fcfddec"
      unitRef="usd">284700000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b9747939dce47579d55925da13ff57c_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMyMw_d0114ee8-df94-4517-82c0-69addd5261b3"
      unitRef="usd">231100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i791ab114ec454d5b90c722c12318b53c_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNjU5NzA2OTc4MDMzOQ_26f0331b-fc48-449c-8f7d-961dd0856487"
      unitRef="usd">172400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNzE0NjgyNTU5NDI1OQ_2bdd218b-0fde-4805-be25-43b36d358570"
      unitRef="number">1</appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfNzE0NjgyNTU5NDI0Mw_3cac8d4b-ec2f-4b08-8cd9-52dc31792ea9"
      unitRef="usd">193000000.0</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85NC9mcmFnOjA1ZTgyYjkwMzQwMDQ1NzQ5MTc4MDIyZDE4MzZhMGM2L3RleHRyZWdpb246MDVlODJiOTAzNDAwNDU3NDkxNzgwMjJkMTgzNmEwYzZfMTA5OTUxMTYzNTIzNw_427bd64b-e1eb-4cef-8951-dcfe3a113799"
      unitRef="usd">187700000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0Nzg_a271bf75-c0dc-4e4f-969a-abc7f847c7e1">Summary of Significant Accounting Policies&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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;Basis of Presentation and Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Reclassification&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We reclassified certain amounts in our Consolidated Balance Sheet in the prior year to confirm to the current year's presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Principles of Consolidation &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying Consolidated Financial Statements include the operations of AppFolio, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our investment in SecureDocs, Inc. (&#x201c;SecureDocs&#x201d;) is accounted for under the equity method of accounting as we have the ability to exert significant influence, but do not control and are not the primary beneficiary of the entity. Our investment in SecureDocs is not material and any income (loss) activity is not material individually or in the aggregate to our Consolidated Financial Statements for any period presented. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States. The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of December&#160;31, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 the date of our Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our Consolidated Financial Statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Segment Information &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our chief operating decision maker reviews financial information presented on an aggregated and consolidated basis, together with revenue information for our core solutions, Value+ and other service offerings, principally to make decisions about how to allocate resources and to measure our performance. Accordingly, management has determined that we have one reportable and operating segment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Concentrations of Credit Risk &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject us to credit risk consist principally of cash, cash equivalents, restricted cash, accounts receivable, investment securities and notes receivable. We maintain cash balances at financial institutions in excess of amounts insured by United States government agencies or payable by the United States government directly. We place our cash with high credit, quality financial institutions. We invest in investment securities with a minimum rating of A by Standard &amp;amp; Poor's or A-1 by Moody's and regularly monitor our investment security portfolio for changes in credit ratings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Concentrations of credit risk with respect to accounts receivable and revenue are limited due to a large, diverse customer base. No individual customer represented 10% or more of accounts receivable at December&#160;31, 2020 and 2019 or revenue for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Fair Value Measurements &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Accounting Standard Codification 820, &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;Fair Value Measurements and Disclosures&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;, describes a fair value hierarchy based on three levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"&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;Level 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;- Quoted prices in active markets for identical assets or liabilities or funds. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"&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;Level 2 &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;- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"&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;Level 3 &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;- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Cash, Cash Equivalents and Restricted Cash &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid investments, readily convertible to cash, and which have a remaining maturity date of three months or less at the date of purchase, to be cash equivalents. Cash and cash equivalents are recorded at fair value and consist primarily of bank deposits, treasury securities, and money market funds. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted cash of $0.4 million at December&#160;31, 2020 and 2019, is comprised of certificates of deposits relating to collateral requirements for customer automated clearing house and credit card chargebacks and minimum collateral requirements for our insurance services, which are recorded in other long-term assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&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;Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our investment securities currently consist of corporate bonds, United States government agency securities and treasury securities. We classify investment securities as available-for-sale at the time of purchase and reevaluate such classification at each balance sheet date. All investments are recorded at estimated fair value. Unrealized gains and losses for available-for-sale investment securities are included in accumulated other comprehensive income, a component of stockholders&#x2019; equity. We classify our investments as current when the period of time between the reporting date and the contractual maturity is twelve months or less and as noncurrent when the period of time between the reporting date and the contractual maturity is more than twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#x2019;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Accounts Receivable &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded at the invoiced amount, net of an allowance for credit losses. The allowance for credit losses is based on historical loss experience, the number of days that receivables are past due, and an evaluation of the potential risk of loss associated with delinquent accounts. Accounts receivable considered uncollectible are charged against the allowance for credit losses when identified. We do not have any off-balance sheet credit exposure related to our customers. At December&#160;31, 2020 and 2019, our allowance for credit losses was not material. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Property and Equipment &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 is stated at cost, less accumulated depreciation. Depreciation is calculated using the straight-line method over the estimated useful lives of assets. The estimated useful lives of our property and equipment are as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.438%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.723%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.439%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Asset Type&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;Depreciation Period&lt;/span&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment&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 #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;3 years&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;Furniture and fixtures&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;7 years&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;Office equipment&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 style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 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:left;vertical-align: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 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;Shorter of remaining life of lease or asset life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Repair and maintenance costs are expensed as incurred. Renewals and improvements are capitalized. Assets disposed of or retired are removed from the cost and accumulated depreciation accounts and any resulting gain or loss is reflected in our results of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Leases &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception. Operating leases are included in &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;prepaid expenses and other current assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;operating lease ROU assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;other current liabilities&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;, and &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;operating lease liabilities&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; on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments, over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend the lease when it is reasonably certain that we will exercise that option. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease arrangements with lease and non-lease components, which are generally accounted for as a single lease component. Leases with an initial term of twelve months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Capitalized Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of three years. We do not transfer ownership of our software, license, or lease our software to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determined that a three year life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of three years before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this three year estimate, a change in this estimate could produce a material impact on our financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Goodwill and Intangible Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 excess of the purchase price over the estimated fair value of the net tangible and identifiable intangible assets acquired in business combinations. Goodwill is tested for impairment at least annually at the reporting unit level or at other times if an event occurs or circumstances change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have the option to assess goodwill for possible impairment by performing a qualitative analysis to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. A quantitative assessment is performed if the qualitative assessment results in a more-likely-than-not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent that the reporting unit&#x2019;s carrying value exceeds its fair value. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one reporting unit and we test for goodwill impairment annually during the fourth quarter of the calendar year. Additionally, in connection with the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. Based on the assessments performed at September 30, 2020 and November 1, 2020, we determined it was unlikely that our reporting unit fair value was less than its carrying value and no quantitative impairment test assessment was required. There were no indicators that our goodwill has become impaired since that date, and as such, there was no impairment charges recorded.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No impairment losses were recorded for goodwill during the years ended December 31, 2020, 2019 and 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 primarily consist of acquired database and technology, non-compete agreements, customer and partner relationships, trademarks and trade names, domain names and patents, which are recorded at cost, less accumulated amortization. We determine the appropriate useful life of our intangible assets by performing an analysis of expected cash flows of the acquired assets. Intangible assets are amortized over their estimated useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Impairment of Long-Lived Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the recoverability of our long-lived assets when events or changes in circumstances indicate that the carrying value of an asset may not be recoverable or that the useful lives of those assets are no longer appropriate. An impairment charge would be recognized when the carrying amount of a long-lived asset or asset group is not recoverable and exceeds its fair value. The carrying amount of a long-lived asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group. There were no impairment charges related to the identified long-lived assets for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Business Combinations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Revenue Recognition &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate revenue from our customers primarily for subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Refer to Note 15, &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;Revenue and Other Information&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 disaggregated breakdown of revenue between core solutions, Value+ services and other revenue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Core Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We charge our customers on a subscription basis for our core solutions. Our subscription fees are designed to scale to the size of our customers' businesses. Subscription fees for our core solutions are charged on a per-unit per-month basis for our property management software solution and on a per-user per-month basis for our legal software solution. Our customers do not have rights to the underlying software code of our solutions, and, accordingly, we recognize subscription revenue over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. The term of our core solutions subscription agreements typically ranges from one month to one year. We typically invoice our customers for subscription services in monthly or annual installments, in advance of the subscription period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Value+ Services&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We charge our customers on a subscription or usage basis for our Value+ services. Subscription-based fees are charged on a per-unit basis. We typically invoice our customers for subscription-based services in monthly installments, in advance of the subscription period. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. Usage-based fees are charged on a flat rate per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our customers for usage-based services on a monthly basis for services rendered in the preceding month. In addition, some subscription or usage-based Value+ services, such as fees for electronic payment services, are paid by either our customers or clients of our customers at the time the services are rendered. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We work with third-party partners to provide certain of our Value+ services. For these Value+ services, we evaluate whether we are the principal, and report revenue on a gross basis, or the agent, and report revenue on a net basis. In this assessment we consider if we obtain control of the specified services before they are transferred to the customer, as well as other indicators such as whether we are the party primarily responsible for fulfillment, and whether we have discretion in establishing price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Other Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other revenue include fees from one-time services related to the implementation of our software solutions and other recurring or one-time fees related to our customers who are not otherwise using our core solutions. This includes legacy customers of businesses we have acquired where the customers haven't migrated to our core solutions. The fees for implementation and data migration services are billed upon signing our core subscription contract and are not recognized until the core solution is accessible and fully functional for our customer's use. Other services are billed when the services rendered are completed and delivered to the customer or billed in advance and deferred over the subscription period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Contracts with Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record deferred revenue when cash payments are received in advance of our performance. During the twelve months ended December&#160;31, 2020 and 2019, we recognized revenue of $4.5 million and $3.4 million, respectively, that were included in the deferred revenue balances at December&#160;31, 2019 and 2018, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our payment terms vary by the type of our customer and the products or services offered. The time between invoicing and when payment is due is not significant. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined that our contracts do not include a significant financing component.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Practical Expedients&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 transaction price, we have applied the practical expedient which allows us not to adjust the consideration for the effects of the time value of money as long as the time between when we transfer the promised service to a customer and when a customer pays is one year or less. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not disclose the value of unsatisfied performance obligations for contracts with an original expected term of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in proportion to the amount we have the right to invoice for certain core solutions and Value+ services revenue, as that amount corresponds directly with our performance completed to date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Deferred Costs &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred costs, which primarily consist of sales commissions, are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized on a straight-line basis over a period of benefit that we have determined to be three years. We typically do not pay commissions for contract renewals. We determined the period of benefit by taking into consideration our customer contract term, the useful life of our internal-use software, average customer life, and other factors. Amortization expense for the deferred costs is allocated based on the employee's department and included within&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; &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;sales and marketing expense in the accompanying Consolidated Statements of Operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred costs were $10.3 million and $9.5 million at December&#160;31, 2020 and 2019, respectively, of which $5.5 million and $4.8 million, respectively, are included in &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;prepaid expenses and other current assets&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; and $4.8 million and $4.6 million, respectively, are included in &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;other assets&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 the accompanying Consolidated Balance Sheets. Amortization expense for deferred costs was $5.8 million, $4.2 million, and $2.0 million for the years ended December&#160;31, 2020, 2019, and 2018, respectively. For the&#160;years ended&#160;December&#160;31, 2020 and 2019, no impairments were identified in relation to the costs capitalized for the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Cost of Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Sales and Marketing &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. Advertising expenses were $7.0 million, $5.8 million and $4.5 million for each of the years ended December&#160;31, 2020, 2019 and 2018, respectively, and are expensed as incurred. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Research and Product Development &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;General and Administrative &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Depreciation and Amortization &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize stock-based compensation expense for stock-based awards granted to employees and directors that can be settled in shares of our common stock. We estimate the fair value of stock options and performance-based stock options ("PSOs"), using the Black-Scholes option-pricing model. We estimate the fair value of restricted stock awards ("RSAs"), restricted stock units ("RSUs") and performance-based RSUs or performance share units ("PSUs") based on the fair value of our common stock on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Stock Options &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, 2019, and 2018 we did not grant time-based stock options or PSOs. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RSUs generally vest in equal tranches over &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0"&gt;four&lt;/span&gt; annual periods and are expensed on a straight-line basis over the vesting period. The shares underlying the RSU grants are not issued and outstanding until the applicable vesting date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Performance-Based Equity Awards &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our PSUs include performance conditions that require us to estimate the probable outcome of the performance condition. This assessment is based on management's judgment using internally developed forecasts and assessed at each reporting period. Compensation cost is recorded if it is probable that the performance condition will be achieved. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. PSUs will vest upon achievement of the relevant performance metric once such calculation is reviewed and approved by our Board of Directors. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Forfeiture Rate&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We estimate a forfeiture rate to calculate our stock-based compensation expense for our stock-based awards. The forfeiture rate is based on an analysis of actual forfeitures. We will continue to evaluate the appropriateness of the forfeiture rate based on actual forfeiture experience, analysis of employee turnover, and other factors. Changes in the estimated forfeiture rate can have a significant impact on our stock-based compensation expense as the cumulative effect of adjusting the rate is recognized in the period the estimated forfeiture rate is changed. If a revised forfeiture rate is higher than the previously-estimated forfeiture rate, an adjustment is made that will result in a decrease to our stock-based compensation expense recognized in our Consolidated Financial Statements. If a revised forfeiture rate is lower than the previously-estimated forfeiture rate, an adjustment is made that will result in an increase to our stock-based compensation expense recognized in our Consolidated Financial Statements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Net Income per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income per share includes no dilution and is computed by dividing net income for the period by the weighted average number of common shares outstanding during the period. Diluted net income per share is computed by dividing net income for the period by the weighted average number of shares of common stock and potentially dilutive common stock outstanding during the period. The dilutive effect of outstanding options and equity incentive awards is reflected in diluted net income per share by application of the treasury stock method. The calculation of diluted net income per share excludes all anti-dilutive common shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 income per common share was the same for our Class A and Class B common shares because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of our weighted average number of Class A and Class B common shares used to compute net income per share (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.281%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.284%"/&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:8.284%"/&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:8.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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: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: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;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Weighted average common shares outstanding&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;34,269&#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;34,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;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;34,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/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;Weighted average common shares outstanding; basic&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;34,264&#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;34,016&#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;34,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;/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;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:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&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;34,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;34,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;34,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;/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;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&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,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,434&#160;&lt;/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;Weighted average common shares outstanding; diluted&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;35,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;35,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;35,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, 2019 and 2018, an aggregate of 79,000, 187,000 and 358,000 shares, respectively, underlying PSOs and PSUs were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon satisfaction of pre-defined performance measures and their respective performance measures have not been met. RSUs with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the years ended December&#160;31, 2020, 2019 and 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2018&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2014, the Financial Accounting Standards Board ("FASB") issued the New Revenue Standard, which requires an entity to recognize the amount of revenue to which it expects to be entitled for the transfer of promised goods or services to customers. The New Revenue Standard also includes Subtopic 340-40, &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;Other Assets and Deferred Costs - 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;, which discusses the deferral of incremental costs of obtaining a contract with a customer.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted the New Revenue Standard at January 1, 2018 using the modified retrospective transition method applied to those contracts which were not completed at that date. We recognized the cumulative effect of initially applying the New Revenue Standard as an adjustment to the opening balance of retained earnings. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The adoption of the New Revenue Standard did not have an impact on our revenues. It did, however, have a significant impact related to the deferral of incremental costs of obtaining contracts. Prior to the adoption of the New Revenue Standard, our commissions were expensed as incurred. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 2018&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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;4,546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,694&#160;&lt;/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&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,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;3,054&#160;&lt;/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:700;line-height:100%"&gt;Equity&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;text-align:left;vertical-align: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 deficit&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;(67,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,283)&lt;/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-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2019&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2016, the FASB issued ASU No. 2016-02, &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;Leases&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; ("ASU 2016-02"), which requires an entity to recognize ROU assets and lease liabilities on its balance sheet and disclose key information about leasing arrangements. ASU 2016-02 offers specific accounting guidance for a lessee, a lessor and sale and leaseback transactions. Lessees and lessors are required to disclose qualitative and quantitative information about leasing arrangements to enable a user of the financial statements to assess the amount, timing and uncertainty of cash flows arising from leases. In July&#160;2018, the FASB issued ASU No. 2018-11, Leases (Topic 842): Targeted Improvements ("ASU 2018-11"). Among other things, ASU 2018-11 provides administrative relief by allowing entities to implement the lease standard on a modified retrospective basis (the "Optional Transition Method"). Effectively, the Optional Transition Method permits us to adopt the lease standard through a cumulative effect adjustment to our opening balance sheet as of January 1, 2019, and report under the new lease standard on a post-adoption basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted ASU 2016-02 effective January 1, 2019, using the Optional Transition Method. We elected the package of practical expedients permitted under the transition guidance, which allows us to carry forward our historical lease classification, our assessment of whether a contract is or contains a lease, and our initial direct costs for any leases that existed prior to adoption of the new lease standard. The comparative information has not been recast and continues to be reported under the accounting standards in effect for those periods. We updated our accounting policies, processes, internal controls and information systems that were required to meet the new lease standard's reporting and disclosure requirements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The adoption of ASU 2016-02 had a material impact on our Consolidated Balance Sheets, but did not have an impact on our Consolidated Statements of Operations or our Consolidated Statements of Cash Flows. The most significant impact was the recognition of ROU assets and lease liabilities for operating leases.&#160;We also reclassified prepaid and deferred rent to the ROU asset balance as of January 1, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;11,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(317)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;11,458&#160;&lt;/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;Operating 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;&#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;16,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;td colspan="3" style="background-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,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 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:700;line-height:100%"&gt;Liabilities and Stockholders&#x2019; Equity &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;text-align:left;vertical-align: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 current liabilities&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,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;3,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,940&#160;&lt;/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;Operating 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;&#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;20,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;20,056&#160;&lt;/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 long-term 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;7,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,921)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;159&#160;&lt;/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-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&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;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &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;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&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;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &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;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&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:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&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;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0ODQ_d333f25b-b1c6-45b2-a8f1-c164a5a799a9">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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;Basis of Presentation and Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Reclassification&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We reclassified certain amounts in our Consolidated Balance Sheet in the prior year to confirm to the current year's presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTQ_cb3e9c60-5225-4c2d-880b-231eab966ae2">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Principles of Consolidation &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying Consolidated Financial Statements include the operations of AppFolio, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. &lt;/span&gt;&lt;/div&gt;Our investment in SecureDocs, Inc. (&#x201c;SecureDocs&#x201d;) is accounted for under the equity method of accounting as we have the ability to exert significant influence, but do not control and are not the primary beneficiary of the entity. Our investment in SecureDocs is not material and any income (loss) activity is not material individually or in the aggregate to our Consolidated Financial Statements for any period presented.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTc_77d8ce59-ba8c-48bc-b4e4-608b11fbafca">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States. The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of December&#160;31, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 the date of our Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our Consolidated Financial Statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MjY_1967ea5b-9583-4cd3-bddd-db0cec94f502">Segment Information Our chief operating decision maker reviews financial information presented on an aggregated and consolidated basis, together with revenue information for our core solutions, Value+ and other service offerings, principally to make decisions about how to allocate resources and to measure our performance. Accordingly, management has determined that we have one reportable and operating segment.</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjcwOA_7c069ed2-dbad-4d3c-ab5c-40be62780691"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjcwOA_b7eadce2-21c3-4706-843e-81f8b03691f0"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MTE_742f7151-ba99-4fac-9c47-6bda29f8856c">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Concentrations of Credit Risk &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject us to credit risk consist principally of cash, cash equivalents, restricted cash, accounts receivable, investment securities and notes receivable. We maintain cash balances at financial institutions in excess of amounts insured by United States government agencies or payable by the United States government directly. We place our cash with high credit, quality financial institutions. We invest in investment securities with a minimum rating of A by Standard &amp;amp; Poor's or A-1 by Moody's and regularly monitor our investment security portfolio for changes in credit ratings.&lt;/span&gt;&lt;/div&gt;Concentrations of credit risk with respect to accounts receivable and revenue are limited due to a large, diverse customer base.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MzI_00a7eaf0-bc01-4491-9d4a-4bc055557347">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Fair Value Measurements &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Accounting Standard Codification 820, &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;Fair Value Measurements and Disclosures&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;, describes a fair value hierarchy based on three levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"&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;Level 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;- Quoted prices in active markets for identical assets or liabilities or funds. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"&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;Level 2 &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;- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. &lt;/span&gt;&lt;/div&gt;Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1Nzg_36ab5480-209b-4ca2-803e-7c2d71229eb6">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Cash, Cash Equivalents and Restricted Cash &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid investments, readily convertible to cash, and which have a remaining maturity date of three months or less at the date of purchase, to be cash equivalents. Cash and cash equivalents are recorded at fair value and consist primarily of bank deposits, treasury securities, and money market funds. &lt;/span&gt;&lt;/div&gt;Restricted cash of $0.4 million at December&#160;31, 2020 and 2019, is comprised of certificates of deposits relating to collateral requirements for customer automated clearing house and credit card chargebacks and minimum collateral requirements for our insurance services, which are recorded in other long-term assets.</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNTMzMQ_2859b537-f349-493f-9d2a-dcb457e018dc"
      unitRef="usd">400000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNTMzMQ_c7c1fb82-fd6f-4284-bf98-8fffb795b8b9"
      unitRef="usd">400000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:MarketableSecuritiesPolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTA_1d214c1a-9689-4b4d-8fa0-4fb9d2d39fc9">Investment Securities&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our investment securities currently consist of corporate bonds, United States government agency securities and treasury securities. We classify investment securities as available-for-sale at the time of purchase and reevaluate such classification at each balance sheet date. All investments are recorded at estimated fair value. Unrealized gains and losses for available-for-sale investment securities are included in accumulated other comprehensive income, a component of stockholders&#x2019; equity. We classify our investments as current when the period of time between the reporting date and the contractual maturity is twelve months or less and as noncurrent when the period of time between the reporting date and the contractual maturity is more than twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#x2019;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:ProvisionForOtherCreditLosses
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc2Mg_34279cf4-5ca9-4edc-b471-e8ef7d8362c7"
      unitRef="usd">0</us-gaap:ProvisionForOtherCreditLosses>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTk_711c3b34-d381-4266-89fb-bd3cd20daad1">Accounts Receivable Accounts receivable are recorded at the invoiced amount, net of an allowance for credit losses. The allowance for credit losses is based on historical loss experience, the number of days that receivables are past due, and an evaluation of the potential risk of loss associated with delinquent accounts. Accounts receivable considered uncollectible are charged against the allowance for credit losses when identified. We do not have any off-balance sheet credit exposure related to our customers.</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0NzU_d3dcbc99-d8ae-4a29-9030-68294cf8c724">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Property and Equipment &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 is stated at cost, less accumulated depreciation. Depreciation is calculated using the straight-line method over the estimated useful lives of assets. The estimated useful lives of our property and equipment are as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.438%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.723%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.439%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Asset Type&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;Depreciation Period&lt;/span&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment&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 #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;3 years&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;Furniture and fixtures&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;7 years&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;Office equipment&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 style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 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:left;vertical-align: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 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;Shorter of remaining life of lease or asset life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Repair and maintenance costs are expensed as incurred. Renewals and improvements are capitalized. Assets disposed of or retired are removed from the cost and accumulated depreciation accounts and any resulting gain or loss is reflected in our results of operations.</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDk_43df8cea-c96e-4fb3-841b-137fd74a1954">The estimated useful lives of our property and equipment are as follows: &lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.438%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.723%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.439%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Asset Type&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;Depreciation Period&lt;/span&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment&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 #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;3 years&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;Furniture and fixtures&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;7 years&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;Office equipment&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 style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 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:left;vertical-align: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 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;Shorter of remaining life of lease or asset life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;text-indent:36pt"&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, net consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&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:12.810%"/&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:8pt;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&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 #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&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="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;Data center and computer equipment&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;4,597&#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;7,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&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,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;/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;Office equipment&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,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,141&#160;&lt;/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;Leasehold improvements&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,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,192&#160;&lt;/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;Construction in process&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;617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,118&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross property and equipment&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;37,511&#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;26,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated depreciation&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,072)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,643)&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment, net&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;26,439&#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;14,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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i775737621cf8499caf903c657527ac4f_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMS0yLTEtMS0yMzI4_e86ed828-7d5e-422b-8f96-a8e206ec624b">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="id0bed8b25dc44f859958e2715fbff35b_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMi0yLTEtMS02NDYx_2867a501-8e03-400b-9da4-0ba646f5c58c">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i3596c1bc1a4c48b782bc4a165bea69ca_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMy0yLTEtMS0xMzQ0L3RleHRyZWdpb246MDZkNGNiODM0ZDkzNDg4Mzk1OTIwYzA0Yzc3MTk3ZDRfMTA5OTUxMTYyNzc5Mw_8add381d-c1b5-440f-8459-9fe74dc2bc9d">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i8247a60257294e31ae341ca5c7084724_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjJkZWMxNjg3OTVhOTRkMDhiYWEyNWYzNTVkNDIzMDhhL3RhYmxlcmFuZ2U6MmRlYzE2ODc5NWE5NGQwOGJhYTI1ZjM1NWQ0MjMwOGFfMy0yLTEtMS0xMzQ0L3RleHRyZWdpb246MDZkNGNiODM0ZDkzNDg4Mzk1OTIwYzA0Yzc3MTk3ZDRfMTA5OTUxMTYyNzc5Nw_e1e8c1a4-6910-49a6-afd8-a2d299cf8386">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTE_03fc6a1b-9bf5-4421-a3e2-f81e2e02ed4b">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Leases &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease at inception. Operating leases are included in &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;prepaid expenses and other current assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;operating lease ROU assets&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;other current liabilities&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;, and &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;operating lease liabilities&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; on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments, over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend the lease when it is reasonably certain that we will exercise that option. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease arrangements with lease and non-lease components, which are generally accounted for as a single lease component. Leases with an initial term of twelve months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:InternalUseSoftwarePolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM2MjM_c467e7eb-b6a3-4451-a496-47044c13d6aa">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Capitalized Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of three years. We do not transfer ownership of our software, license, or lease our software to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determined that a three year life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of three years before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this three year estimate, a change in this estimate could produce a material impact on our financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense.&lt;/span&gt;&lt;/div&gt;</us-gaap:InternalUseSoftwarePolicy>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfOTg5NQ_abfff17c-51bf-4f94-ae97-d0b1c9a8c927">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5NQ_3ec3ae3b-5670-430a-848f-20faf1e807e0">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc2MQ_958a62e7-b225-4574-8d65-936d9b49bb6a">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i629deff96d36469d8b91b79f2637153d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5Ng_9f828805-bd68-452c-a6ba-47f5f2a533a0">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTI_cd615e19-f853-45a4-a96f-64ea4194e113">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Goodwill and Intangible Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 excess of the purchase price over the estimated fair value of the net tangible and identifiable intangible assets acquired in business combinations. Goodwill is tested for impairment at least annually at the reporting unit level or at other times if an event occurs or circumstances change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have the option to assess goodwill for possible impairment by performing a qualitative analysis to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. A quantitative assessment is performed if the qualitative assessment results in a more-likely-than-not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent that the reporting unit&#x2019;s carrying value exceeds its fair value. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one reporting unit and we test for goodwill impairment annually during the fourth quarter of the calendar year. Additionally, in connection with the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. Based on the assessments performed at September 30, 2020 and November 1, 2020, we determined it was unlikely that our reporting unit fair value was less than its carrying value and no quantitative impairment test assessment was required. There were no indicators that our goodwill has become impaired since that date, and as such, there was no impairment charges recorded.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No impairment losses were recorded for goodwill during the years ended December 31, 2020, 2019 and 2018. &lt;/span&gt;&lt;/div&gt;Intangible assets primarily consist of acquired database and technology, non-compete agreements, customer and partner relationships, trademarks and trade names, domain names and patents, which are recorded at cost, less accumulated amortization. We determine the appropriate useful life of our intangible assets by performing an analysis of expected cash flows of the acquired assets. Intangible assets are amortized over their estimated useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NumberOfReportingUnits
      contextRef="i9ef50e190b0446b6b41c5f0c12f3822b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTI3NTQ_8962b89f-510e-4061-91d2-be8ed04281f7"
      unitRef="reportingunit">1</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLossNetOfTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_06c6f32a-ace1-4850-9427-4cdf0b559912"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLossNetOfTax>
    <us-gaap:GoodwillImpairmentLossNetOfTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_6535a8eb-2b58-48f1-989a-997cbea3789d"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLossNetOfTax>
    <us-gaap:GoodwillImpairmentLossNetOfTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg5OA_7dfc8a99-bd5c-482f-b1cd-d1f252e9d3c3"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLossNetOfTax>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1OTI_236f77d0-d23d-4f05-8d07-6c73fd1f49b0">Impairment of Long-Lived Assets We assess the recoverability of our long-lived assets when events or changes in circumstances indicate that the carrying value of an asset may not be recoverable or that the useful lives of those assets are no longer appropriate. An impairment charge would be recognized when the carrying amount of a long-lived asset or asset group is not recoverable and exceeds its fair value. The carrying amount of a long-lived asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_27878548-53ee-4fa2-b1b2-3717b79c6fcd"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_514c3bc6-e1a7-4a6f-99fc-c838c296b08f"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTQ1Mjc_cde63b38-a654-435f-a934-8a1aa8c35200"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0ODY_5d77f156-f928-468f-bb91-906c70532713">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Business Combinations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.&lt;/span&gt;&lt;/div&gt;Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred.</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDI_db77513a-13cd-400d-a74d-9169d9216ac8">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Revenue Recognition &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate revenue from our customers primarily for subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Refer to Note 15, &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;Revenue and Other Information&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 disaggregated breakdown of revenue between core solutions, Value+ services and other revenue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Core Solutions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We charge our customers on a subscription basis for our core solutions. Our subscription fees are designed to scale to the size of our customers' businesses. Subscription fees for our core solutions are charged on a per-unit per-month basis for our property management software solution and on a per-user per-month basis for our legal software solution. Our customers do not have rights to the underlying software code of our solutions, and, accordingly, we recognize subscription revenue over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. The term of our core solutions subscription agreements typically ranges from one month to one year. We typically invoice our customers for subscription services in monthly or annual installments, in advance of the subscription period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Value+ Services&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We charge our customers on a subscription or usage basis for our Value+ services. Subscription-based fees are charged on a per-unit basis. We typically invoice our customers for subscription-based services in monthly installments, in advance of the subscription period. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. Usage-based fees are charged on a flat rate per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our customers for usage-based services on a monthly basis for services rendered in the preceding month. In addition, some subscription or usage-based Value+ services, such as fees for electronic payment services, are paid by either our customers or clients of our customers at the time the services are rendered. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We work with third-party partners to provide certain of our Value+ services. For these Value+ services, we evaluate whether we are the principal, and report revenue on a gross basis, or the agent, and report revenue on a net basis. In this assessment we consider if we obtain control of the specified services before they are transferred to the customer, as well as other indicators such as whether we are the party primarily responsible for fulfillment, and whether we have discretion in establishing price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Other Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other revenue include fees from one-time services related to the implementation of our software solutions and other recurring or one-time fees related to our customers who are not otherwise using our core solutions. This includes legacy customers of businesses we have acquired where the customers haven't migrated to our core solutions. The fees for implementation and data migration services are billed upon signing our core subscription contract and are not recognized until the core solution is accessible and fully functional for our customer's use. Other services are billed when the services rendered are completed and delivered to the customer or billed in advance and deferred over the subscription period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Contracts with Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record deferred revenue when cash payments are received in advance of our performance. During the twelve months ended December&#160;31, 2020 and 2019, we recognized revenue of $4.5 million and $3.4 million, respectively, that were included in the deferred revenue balances at December&#160;31, 2019 and 2018, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our payment terms vary by the type of our customer and the products or services offered. The time between invoicing and when payment is due is not significant. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined that our contracts do not include a significant financing component.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Practical Expedients&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 transaction price, we have applied the practical expedient which allows us not to adjust the consideration for the effects of the time value of money as long as the time between when we transfer the promised service to a customer and when a customer pays is one year or less. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not disclose the value of unsatisfied performance obligations for contracts with an original expected term of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in proportion to the amount we have the right to invoice for certain core solutions and Value+ services revenue, as that amount corresponds directly with our performance completed to date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Deferred Costs &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred costs, which primarily consist of sales commissions, are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized on a straight-line basis over a period of benefit that we have determined to be three years. We typically do not pay commissions for contract renewals. We determined the period of benefit by taking into consideration our customer contract term, the useful life of our internal-use software, average customer life, and other factors. Amortization expense for the deferred costs is allocated based on the employee's department and included within&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; &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;sales and marketing expense in the accompanying Consolidated Statements of Operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Cost of Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <appf:ContractTermSubscriptionAgreement
      contextRef="i615de3470d494946b4a5d94b44b0e6ec_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc4OA_20ba09ab-da45-4034-880c-312e6ab03bb0">P1M</appf:ContractTermSubscriptionAgreement>
    <appf:ContractTermSubscriptionAgreement
      contextRef="i770e64f46e564319a6c18b27195bb0d8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxNDc4OQ_6a5f03cf-319b-4e08-b2b4-f8eeaa8b2a1d">P1Y</appf:ContractTermSubscriptionAgreement>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjEyNDg_9343c4f1-7b97-4961-9f43-48de4c409313"
      unitRef="usd">4500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjEyNTU_45f1cd2f-7f49-472e-8867-c0711d2dcf07"
      unitRef="usd">3400000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNjU5NzA2OTkxODYzNg_9f626e5c-edea-4c18-b881-be2693690452">P3Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzNDI_d53bf0ab-2d32-42c0-8a75-b442dbe6bb2d"
      unitRef="usd">10300000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzNDk_722f0bec-de7b-43e1-9181-da04d0d73a92"
      unitRef="usd">9500000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzODk_f730f950-73b9-4a48-bd50-4203bcf8b8a0"
      unitRef="usd">5500000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjMzOTY_a63369fd-34c4-4ee0-ae8a-077c9770d85d"
      unitRef="usd">4800000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM0NzY_80128b30-70cf-4147-a914-60a542e0b765"
      unitRef="usd">4800000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM0ODM_c4944614-dd47-4d27-a5b3-edf328e41d5f"
      unitRef="usd">4600000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM2MjM_151249cb-14be-4f0c-b847-f9e6d115103e"
      unitRef="usd">5800000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjM2MzA_55611227-e385-4891-810c-e7ea36f191a9"
      unitRef="usd">4200000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMTY0OTI2NzU3NDM2MA_4b363cdc-ba9d-42dc-989f-837e57e8fabe"
      unitRef="usd">2000000.0</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NTY_e333e0d2-783e-4ea2-be92-c5a7543a0aaa">Sales and Marketing Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. &lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;General and Administrative &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs.&lt;/span&gt;&lt;/div&gt;</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MDc_d29a94c0-a6f1-452d-b1aa-36350ef7584b"
      unitRef="usd">7000000.0</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MTE_eb5cb96b-f333-4678-8951-223d49610ccb"
      unitRef="usd">5800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjU4MTg_3109e9db-0816-42ce-a7eb-84791817e070"
      unitRef="usd">4500000</us-gaap:AdvertisingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM0OTY_520cdf33-b239-4e40-be3b-32dc38cda872">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Research and Product Development &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MDM_af8b0e3c-4121-4381-9c5e-7165c46d579a">Depreciation and Amortization Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.</us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MzY_85d352f5-1247-4547-969f-7fd3afffefe5">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize stock-based compensation expense for stock-based awards granted to employees and directors that can be settled in shares of our common stock. We estimate the fair value of stock options and performance-based stock options ("PSOs"), using the Black-Scholes option-pricing model. We estimate the fair value of restricted stock awards ("RSAs"), restricted stock units ("RSUs") and performance-based RSUs or performance share units ("PSUs") based on the fair value of our common stock on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Stock Options &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, 2019, and 2018 we did not grant time-based stock options or PSOs. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RSUs generally vest in equal tranches over &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0"&gt;four&lt;/span&gt; annual periods and are expensed on a straight-line basis over the vesting period. The shares underlying the RSU grants are not issued and outstanding until the applicable vesting date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Performance-Based Equity Awards &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our PSUs include performance conditions that require us to estimate the probable outcome of the performance condition. This assessment is based on management's judgment using internally developed forecasts and assessed at each reporting period. Compensation cost is recorded if it is probable that the performance condition will be achieved. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. PSUs will vest upon achievement of the relevant performance metric once such calculation is reviewed and approved by our Board of Directors. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Forfeiture Rate&lt;/span&gt;&lt;/div&gt;We estimate a forfeiture rate to calculate our stock-based compensation expense for our stock-based awards. The forfeiture rate is based on an analysis of actual forfeitures. We will continue to evaluate the appropriateness of the forfeiture rate based on actual forfeiture experience, analysis of employee turnover, and other factors. Changes in the estimated forfeiture rate can have a significant impact on our stock-based compensation expense as the cumulative effect of adjusting the rate is recognized in the period the estimated forfeiture rate is changed. If a revised forfeiture rate is higher than the previously-estimated forfeiture rate, an adjustment is made that will result in a decrease to our stock-based compensation expense recognized in our Consolidated Financial Statements. If a revised forfeiture rate is lower than the previously-estimated forfeiture rate, an adjustment is made that will result in an increase to our stock-based compensation expense recognized in our Consolidated Financial Statements.</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1NDc_440e533c-09f6-43d0-a146-868358d218f0">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.&lt;/span&gt;&lt;/div&gt;Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1MTA_d617a603-626f-4fbf-a4f3-cb9d456d672d">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Net Income per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income per share includes no dilution and is computed by dividing net income for the period by the weighted average number of common shares outstanding during the period. Diluted net income per share is computed by dividing net income for the period by the weighted average number of shares of common stock and potentially dilutive common stock outstanding during the period. The dilutive effect of outstanding options and equity incentive awards is reflected in diluted net income per share by application of the treasury stock method. The calculation of diluted net income per share excludes all anti-dilutive common shares.&lt;/span&gt;&lt;/div&gt;The net income per common share was the same for our Class A and Class B common shares because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNDM1Njg_eeeadfe7-5132-49fe-b593-6679c686791c">The following table presents a reconciliation of our weighted average number of Class A and Class B common shares used to compute net income per share (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.281%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.284%"/&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:8.284%"/&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:8.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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: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: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;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Weighted average common shares outstanding&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;34,269&#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;34,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;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;34,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/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;Weighted average common shares outstanding; basic&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;34,264&#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;34,016&#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;34,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;/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;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:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&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;34,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;34,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;34,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;/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;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&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,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,434&#160;&lt;/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;Weighted average common shares outstanding; diluted&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;35,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;35,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;35,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi0xLTEtMS0w_e2b2ba02-581e-4267-8759-9a59216f0e3b"
      unitRef="shares">34269000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi0zLTEtMS0w_26a409da-86c9-4415-8114-f0eea91fbde2"
      unitRef="shares">34020000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMi01LTEtMS0w_ba10db04-2639-444d-b1c1-f4769ef9a9c3"
      unitRef="shares">34139000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy0xLTEtMS0w_71c64060-3022-49cf-8fda-7afbe2309f18"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy0zLTEtMS0w_be58a5f6-dd27-47ba-82ff-979ee434c3af"
      unitRef="shares">4000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfMy01LTEtMS0w_0db3264d-9288-4db5-afc6-053d4bd8c724"
      unitRef="shares">11000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC0xLTEtMS0w_a8ffae71-91c8-4023-92ba-d89403f2a8d3"
      unitRef="shares">34264000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC0zLTEtMS0w_ebc27477-8c85-4ded-a75e-758e3d2b721f"
      unitRef="shares">34016000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNC01LTEtMS0w_2d0ed218-c911-474f-8f4e-8c2f89768ef7"
      unitRef="shares">34128000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi0xLTEtMS0w_2f61b05a-5f5a-4075-be52-58506995f317"
      unitRef="shares">34264000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi0zLTEtMS0w_611da5bb-610f-4b9c-9708-976e76ea59af"
      unitRef="shares">34016000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNi01LTEtMS0w_93033314-a4be-428c-8ae5-4cfc5f191054"
      unitRef="shares">34128000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy0xLTEtMS0w_e1900b46-c0e9-4532-a1c9-de9b22e7f82c"
      unitRef="shares">1449000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy0zLTEtMS0w_76a4504d-4dd9-4d57-97b8-852f207d2b71"
      unitRef="shares">1551000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfNy01LTEtMS0w_2ee74b9d-8aec-4e61-8625-64a3e031fb7b"
      unitRef="shares">1434000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC0xLTEtMS0w_340da975-314b-4e31-ac27-a1479a04afe7"
      unitRef="shares">35713000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC0zLTEtMS0w_2dea9132-25c7-4107-8fe1-baa83a73bc5c"
      unitRef="shares">35567000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjMxODAwZjZmNDE0YTRlZjVhZDMyNjk1NTg5N2Y1NGY3L3RhYmxlcmFuZ2U6MzE4MDBmNmY0MTRhNGVmNWFkMzI2OTU1ODk3ZjU0ZjdfOC01LTEtMS0w_9401ff53-2580-407b-98b5-c4b4494ee753"
      unitRef="shares">35562000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0d3eeb8943cc4fc3a192ffa175deb491_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1MjQ_740657a3-3b5f-4ba6-81a0-ad70debc463b"
      unitRef="shares">79000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i84676c5ab81f419796cc34238a67fe65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1Mjg_5593ef2a-43cd-4617-bee8-240d73dc3c04"
      unitRef="shares">187000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i5bd52c1973244553a751a761f389ca66_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMzQ1MzU_c4b4e212-68ec-4a43-abbf-20ca160f418d"
      unitRef="shares">358000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTcyNzg3MA_6e9b3296-7f77-4472-8170-da0437559b8a">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2018&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2014, the Financial Accounting Standards Board ("FASB") issued the New Revenue Standard, which requires an entity to recognize the amount of revenue to which it expects to be entitled for the transfer of promised goods or services to customers. The New Revenue Standard also includes Subtopic 340-40, &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;Other Assets and Deferred Costs - 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;, which discusses the deferral of incremental costs of obtaining a contract with a customer.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted the New Revenue Standard at January 1, 2018 using the modified retrospective transition method applied to those contracts which were not completed at that date. We recognized the cumulative effect of initially applying the New Revenue Standard as an adjustment to the opening balance of retained earnings. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The adoption of the New Revenue Standard did not have an impact on our revenues. It did, however, have a significant impact related to the deferral of incremental costs of obtaining contracts. Prior to the adoption of the New Revenue Standard, our commissions were expensed as incurred. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 2018&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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;4,546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,694&#160;&lt;/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&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,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;3,054&#160;&lt;/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:700;line-height:100%"&gt;Equity&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;text-align:left;vertical-align: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 deficit&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;(67,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,283)&lt;/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-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2019&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2016, the FASB issued ASU No. 2016-02, &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;Leases&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; ("ASU 2016-02"), which requires an entity to recognize ROU assets and lease liabilities on its balance sheet and disclose key information about leasing arrangements. ASU 2016-02 offers specific accounting guidance for a lessee, a lessor and sale and leaseback transactions. Lessees and lessors are required to disclose qualitative and quantitative information about leasing arrangements to enable a user of the financial statements to assess the amount, timing and uncertainty of cash flows arising from leases. In July&#160;2018, the FASB issued ASU No. 2018-11, Leases (Topic 842): Targeted Improvements ("ASU 2018-11"). Among other things, ASU 2018-11 provides administrative relief by allowing entities to implement the lease standard on a modified retrospective basis (the "Optional Transition Method"). Effectively, the Optional Transition Method permits us to adopt the lease standard through a cumulative effect adjustment to our opening balance sheet as of January 1, 2019, and report under the new lease standard on a post-adoption basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted ASU 2016-02 effective January 1, 2019, using the Optional Transition Method. We elected the package of practical expedients permitted under the transition guidance, which allows us to carry forward our historical lease classification, our assessment of whether a contract is or contains a lease, and our initial direct costs for any leases that existed prior to adoption of the new lease standard. The comparative information has not been recast and continues to be reported under the accounting standards in effect for those periods. We updated our accounting policies, processes, internal controls and information systems that were required to meet the new lease standard's reporting and disclosure requirements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The adoption of ASU 2016-02 had a material impact on our Consolidated Balance Sheets, but did not have an impact on our Consolidated Statements of Operations or our Consolidated Statements of Cash Flows. The most significant impact was the recognition of ROU assets and lease liabilities for operating leases.&#160;We also reclassified prepaid and deferred rent to the ROU asset balance as of January 1, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;11,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(317)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;11,458&#160;&lt;/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;Operating 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;&#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;16,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;td colspan="3" style="background-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,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 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:700;line-height:100%"&gt;Liabilities and Stockholders&#x2019; Equity &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;text-align:left;vertical-align: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 current liabilities&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,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;3,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,940&#160;&lt;/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;Operating 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;&#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;20,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;20,056&#160;&lt;/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 long-term 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;7,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,921)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;159&#160;&lt;/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-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Adopted in 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&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;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &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;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&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;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &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;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&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:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&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;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfNzE0NjgyNTczMjU0NQ_51f27b3a-a3f8-453e-a41e-1e2e656e4edc">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 2018&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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;4,546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;5,694&#160;&lt;/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&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,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;3,054&#160;&lt;/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:700;line-height:100%"&gt;Equity&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;text-align:left;vertical-align: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 deficit&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;(67,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,283)&lt;/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-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.967%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;January 1, 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:700;line-height:100%"&gt;Assets&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: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;Prepaid expenses and other current assets&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;11,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;(317)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;11,458&#160;&lt;/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;Operating 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;&#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;16,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;td colspan="3" style="background-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,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 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:700;line-height:100%"&gt;Liabilities and Stockholders&#x2019; Equity &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;text-align:left;vertical-align: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 current liabilities&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,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;3,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;4,940&#160;&lt;/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;Operating 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;&#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;20,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;20,056&#160;&lt;/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 long-term 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;7,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,921)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;159&#160;&lt;/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:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi0xLTEtMS03NjU3_d678b62e-c662-44f8-848d-310da10a87f7"
      unitRef="usd">4546000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi0zLTEtMS03NjU3_0367efbb-7378-428d-8f74-bdb5c3f9d8d6"
      unitRef="usd">1148000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMi01LTEtMS03NjU3_1067bbbe-a84f-4c99-967a-f9e96093f345"
      unitRef="usd">5694000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy0xLTEtMS03NjU3_87e6bc0e-0a4a-453d-832b-0738f737ea99"
      unitRef="usd">1238000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy0zLTEtMS03NjU3_6968f5f7-9419-4648-878e-15dc3384f646"
      unitRef="usd">1816000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfMy01LTEtMS03NjU3_6114d911-7208-46d7-b2ad-cd23e20989b7"
      unitRef="usd">3054000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i05f36af467dd4c4b8764033a297871cb_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi0xLTEtMS03NjU3_52709107-4ac7-4d2e-a74f-ea30956c8b06"
      unitRef="usd">-67247000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i1622f2335b2d43d2b9f0f3fabf8c307e_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi0zLTEtMS03NjU3_a43fd715-68af-4d6b-a190-0ce835022816"
      unitRef="usd">2964000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="if18cdb85957749b29afe5d94e2aa5014_I20180101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjRmNzg0ZDk3NjUxODQwNTdhNWQzMjU4YzI5ODAzNjE0L3RhYmxlcmFuZ2U6NGY3ODRkOTc2NTE4NDA1N2E1ZDMyNThjMjk4MDM2MTRfNi01LTEtMS03NjU3_35e49ae7-c84a-4419-93f5-b254cbd8de9e"
      unitRef="usd">-64283000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi0xLTEtMS05MTIz_46a693fc-2465-4f7f-8d32-06d4fbd71f1a"
      unitRef="usd">11775000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi0zLTEtMS05MTI1_f9183bee-d261-4a41-835f-42672d2dd012"
      unitRef="usd">-317000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMi01LTEtMS05MTI3_5561cd7a-7bbb-4663-b6c9-3776381ca2ca"
      unitRef="usd">11458000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy0xLTEtMS05MTIz_a38b75ff-bff7-42a0-a0c7-60c5a84aa6ea"
      unitRef="usd">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy0zLTEtMS05MTI1_622c85c3-8c77-4d4e-8fc8-68b1cc5390ac"
      unitRef="usd">16945000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfMy01LTEtMS05MTI3_37fece85-60c5-475b-a5cb-4dbc1a455ad4"
      unitRef="usd">16945000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi0xLTEtMS05MTI5_3f8e0efc-9fc4-43af-a47a-ccf4f88fbb50"
      unitRef="usd">1447000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi0zLTEtMS05MTMx_6d1fe97a-e5c1-4a72-aef3-e2378ec63b5c"
      unitRef="usd">3493000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNi01LTEtMS05MTMz_e32df864-b1dd-49f7-b16f-72c2ddae23d9"
      unitRef="usd">4940000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy0xLTEtMS05MTI5_c417967e-908b-49d8-b2ca-f711fa366a39"
      unitRef="usd">0</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy0zLTEtMS05MTMx_add1779f-401c-47a0-81cc-1ca085050e8b"
      unitRef="usd">20056000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfNy01LTEtMS05MTMz_a2761ade-afaf-4820-8510-71c2e148a402"
      unitRef="usd">20056000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC0xLTEtMS05MTI5_a2aec41d-00c2-4866-99c0-0606f4a66c0f"
      unitRef="usd">7080000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i99864d0f89d24a0cbafa25d8e194e0fd_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC0zLTEtMS05MTMx_ba8cc892-9f12-4d62-afc7-b2a3ee942a5b"
      unitRef="usd">-6921000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="if48a6e4c69274938817f9b2089caf91b_I20190101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RhYmxlOjc5NTk1MWU4MGU3MzRlNTdhOGU0NTE3ZGE0Yjk3NmYwL3RhYmxlcmFuZ2U6Nzk1OTUxZTgwZTczNGU1N2E4ZTQ1MTdkYTRiOTc2ZjBfOC01LTEtMS05MTMz_8a479641-1895-431c-aae9-1848ee4164db"
      unitRef="usd">159000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTE_604c4269-63c0-469d-bd90-db20858b6b52">Divestitures and Business Combinations&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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;Divestiture of MyCase&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 30, 2020, we completed the MyCase Transaction for $193.0&#160;million, consisting of $192.2&#160;million of cash proceeds, plus a $2.2&#160;million employee retention bonus pool funded by us, less cash divested of $0.8&#160;million and a preliminary working capital adjustment of $0.6&#160;million. The retention bonus pool is refundable to us to the extent that MyCase employees are terminated prior to the retention period, which is one year from the closing date of the MyCase Transaction. A portion of the cash proceeds was used to pay all outstanding borrowings under the Credit Facility. Refer to Note 10, &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;Long-Term Debt,&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; of our Consolidated Financial Statements for more information about the termination of the Credit Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized a pre-tax gain on the sale of $187.7&#160;million on the MyCase Transaction, consisting of cash proceeds of $192.2&#160;million, less net assets divested of $4.6&#160;million. Net assets divested is primarily comprised of capitalized software development costs of $3.9&#160;million, deferred revenue of $2.8&#160;million and goodwill allocated to MyCase of $2.3&#160;million. The gain on the sale is included within &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;Other income (expense), net&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 our Consolidated Statements of Operations. Income received in relation to the transition services provided by us to MyCase of $1.1&#160;million is included within &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;Other income (expense), net&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 our Consolidated Statements of Operations. Refer to Note 1, &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;Nature of Business&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;, of our Consolidated Financial Statements for more information about the MyCase Transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Acquisition of Dynasty&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 7, 2019, we acquired&#160;100%&#160;of the voting equity interest of Dynasty Marketplace, Inc. ("Dynasty") for $60.2 million, of which $6.0 million the "Holdback Amount") was retained by us to satisfy any necessary adjustments, including without limitation certain indemnification claims. The balance of the Holdback Amount, less any amount retained with respect to any unresolved indemnification claims, was released to the stockholders of Dynasty on January 10, 2020 in accordance with the terms of the purchase agreement. Dynasty is a provider of advanced artificial intelligence solutions for the real estate vertical, which automate leasing communications, replace manual tasks and help customers grow their portfolios.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 was accounted for using the acquisition method and, as a result, assets acquired and liabilities assumed were recorded at their estimated fair values as of the acquisition date. Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies and comparable companies, estimates of future revenue and cash flows, discount rates, and the software decay rate and database ramp up rate. The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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.765%"/&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.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amount &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life (in years)&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;Total current assets&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 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;305&#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: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;Identified intangible assets:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Technology&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;5,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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 2px 12.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;Database&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;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Customer relationships&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,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 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Trademark &amp;amp; trade name&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,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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;Non-compete agreement&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;7,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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.0&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;Total intangible assets subject to amortization&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;20,750&#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: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.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: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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;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:left;vertical-align: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 noncurrent assets&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;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-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;63,967&#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:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;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;Accrued and other 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;/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 liability, net &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;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-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,759&#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: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;Purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 mainly attributable to synergies expected from the acquisition and assembled workforce and is non-deductible for U.S. federal income tax purposes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We incurred a total of $0.3 million in transaction costs related to the acquisition and expensed all transaction costs incurred during the period in which such service was received. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 Results of Operations&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;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 unaudited pro forma information has been prepared for illustrative purposes only, and assumes that the aforementioned Dynasty acquisition occurred on January 1, 2018, and includes pro forma adjustments related to the amortization of acquired intangible assets, elimination of historical interest and amortization expense, income taxes, compensation arrangements, and the transaction costs incurred. The unaudited pro forma results have been prepared based on estimates and assumptions, which we believe are reasonable; however, they are not necessarily indicative of the consolidated results of operations had the acquisitions occurred at the beginning of the periods presented, or of future results of operations. The unaudited pro forma results are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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 colspan="3" style="display:none"/&gt;&lt;td 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:11.765%"/&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.768%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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="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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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="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;256,047&#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;193,405&#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="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;32,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,937&#160;&lt;/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:BusinessCombinationDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyNjA_b1090b0f-4b25-4cc9-98de-8dc22c4b4dcc"
      unitRef="usd">193000000.0</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyNzY_47ef9d1e-29b7-41ec-b739-2f8886864b80"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIyOTI_a15ebfd0-037a-4885-99eb-b14346d805ce"
      unitRef="usd">2200000</us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1>
    <us-gaap:CashDivestedFromDeconsolidation
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMDY_38e68e37-950d-4d50-b482-c8a8da556f15"
      unitRef="usd">800000</us-gaap:CashDivestedFromDeconsolidation>
    <appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMjA_7d43df11-12d2-49d0-a060-e1f4393372ff"
      unitRef="usd">600000</appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment>
    <appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzcxNDY4MjU1OTU0Nzk_db8326e3-8fd8-4077-b2cf-444e6256e3fe">P1Y</appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzMzQ_427bd64b-e1eb-4cef-8951-dcfe3a113799"
      unitRef="usd">187700000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzNTA_2af614ba-532a-432d-b87d-2eea4cc61008"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzNjY_9b6ef110-34b2-4ab4-9f09-5dc7961ece39"
      unitRef="usd">4600000</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzODA_d95fa78d-9aed-4419-9bf3-70ed60f46cc6"
      unitRef="usd">3900000</appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzIzOTQ_5a434727-cf1b-4df2-9db5-6ac0308e3e7c"
      unitRef="usd">2800000</us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1
      contextRef="i25006d5d67bf47229384f8b1670eb090_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzQ5NDc4MDIzMzI0MDg_47104c53-14ff-4463-8de1-98464304fd53"
      unitRef="usd">2300000</us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome
      contextRef="ibbf341c3878c4cc892fbbf6b21f3784b_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzY1OTcwNjk3ODE2Njc_5e52cd9a-9b7e-434d-a6c0-35e443a12c54"
      unitRef="usd">1100000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOtherIncome>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzkw_d09ef0d9-943a-4672-aeca-8548f5f6e986"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <appf:BusinessCombinationConsiderationTotalPriorToAdjustments
      contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzU2OQ_445cb0aa-999d-4ef0-9377-277406e0e48c"
      unitRef="usd">60200000</appf:BusinessCombinationConsiderationTotalPriorToAdjustments>
    <appf:BusinessCombinationConsiderationTransferredEscrowAmount
      contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzU4Mg_e1870e7f-93f3-47a4-b1fe-5bd1d6e79da7"
      unitRef="usd">6000000.0</appf:BusinessCombinationConsiderationTransferredEscrowAmount>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTY_dfb286f2-85a7-45ee-9a53-e3de13fa7254">The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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.765%"/&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.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amount &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life (in years)&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;Total current assets&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 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;305&#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: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;Identified intangible assets:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Technology&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;5,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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 2px 12.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;Database&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;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Customer relationships&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,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 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.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;Trademark &amp;amp; trade name&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,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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;Non-compete agreement&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;7,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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.0&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;Total intangible assets subject to amortization&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;20,750&#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: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.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: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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;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:left;vertical-align: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 noncurrent assets&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;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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 assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-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;63,967&#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:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;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;Accrued and other 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;/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 liability, net &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;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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 liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-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,759&#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: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;Purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEtMi0xLTEtMA_f258066f-6045-4bc4-bb15-ce0c9fe70130"
      unitRef="usd">305000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i4c7848f33a1048f88ca559d8addb4dd3_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzMtMi0xLTEtMA_d5ca50f4-6cf5-46c5-8b26-61b1d6651a37"
      unitRef="usd">5730000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ie3749537f4934e1b9c5e97c74cec129c_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzMtNC0xLTEtMA_c4ebc459-985e-488a-8dd0-687286d3df62">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i9d875afba5694b19b69b6e6b34d4d43a_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzQtMi0xLTEtMA_e1fff8f0-f091-46cb-8d28-8c5a9edcf5ca"
      unitRef="usd">4710000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="if70a6727567142929980877fade17471_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzQtNC0xLTEtMA_a86a9eb6-5dd6-4e48-8f4f-22b6b4160666">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="icd2278e6bb104cf2b98610aaafb99846_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzUtMi0xLTEtMA_387b484b-2114-4504-8984-b671f64b6138"
      unitRef="usd">1110000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i609d9b36182b4d279927c63935b1622a_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzUtNC0xLTEtMA_52fde09a-3c51-4968-a6e3-94fa8a4b0fc3">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i3ce17488f92b40949fc9278d4c2f6360_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzYtMi0xLTEtMA_e3f623ae-7b57-492d-8fcc-378e43b0bbbc"
      unitRef="usd">470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i2bed893afd274119b5f5e1aee82e3a43_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzYtNC0xLTEtMA_72284c7f-3a2b-415d-85ce-fe3e2e9dd832">P1Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i4d0a8d8ecf0841258eb6f60a7f8f23e4_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzctMi0xLTEtMA_dda63ee4-1f90-4d2a-a763-55e3cb3ee0a4"
      unitRef="usd">1390000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i7d87e35597934392b2904d7e25a9f6c4_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzctNC0xLTEtMA_c651b0ee-f2f0-4232-9a05-380d6344d9f1">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i43099fb76a384b87b43d53efd2a3909c_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzgtMi0xLTEtMA_78f136aa-973f-4e5f-8add-2b41932ed7ae"
      unitRef="usd">7340000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i00cae34e5d5446ba8e1a2cdd41b544d9_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzgtNC0xLTEtMA_1bee1e79-b171-4dc8-b842-1ee7a263eca1">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzktMi0xLTEtMA_2de846a3-1a1f-4772-8db6-59422a30944d"
      unitRef="usd">20750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="idc8ee32b1d5841afbe09b338f5221edb_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzktNC0xLTEtMA_83955f6a-da47-4032-8bdb-cd55b8e2c2b5">P6Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:Goodwill
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEwLTItMS0xLTA_3d094d01-4619-43cf-8017-0ceaa9bf6add"
      unitRef="usd">42877000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzExLTItMS0xLTA_f8b3201b-cdd6-4115-9412-859cf48ebe3e"
      unitRef="usd">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzEyLTItMS0xLTA_078d6c7d-c111-4686-aed9-986e41fc2013"
      unitRef="usd">63967000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE0LTItMS0xLTA_464521fe-500f-474d-8f04-9467c1256959"
      unitRef="usd">48000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE1LTItMS0xLTA_b155cb74-150b-4a97-a46f-b94979c4a3c5"
      unitRef="usd">3711000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE2LTItMS0xLTA_d8b64ba6-4210-48ee-9c7b-1512025de9e7"
      unitRef="usd">3759000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZTplY2E2NGQ1YzBlNTc0MWY0OWNkMDZjNjY5YWZhZDkzOC90YWJsZXJhbmdlOmVjYTY0ZDVjMGU1NzQxZjQ5Y2QwNmM2NjlhZmFkOTM4XzE3LTItMS0xLTA_1637442a-8c5a-49be-827c-db9597d0b96c"
      unitRef="usd">60208000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="i2d60ae6645b148edbbdc326bbfaa22e0_I20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzIwNzI_a0255127-65c8-499e-b61e-9d9528b87ae1"
      unitRef="usd">300000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90ZXh0cmVnaW9uOmViYzdjMTU0MDdlYjQzNmQ4NzY1ZjhjZjMzZDMwNTNkXzUyNTk_cf1df07b-b2f9-4b40-8e25-58ba4b91168b">The unaudited pro forma results are as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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 colspan="3" style="display:none"/&gt;&lt;td 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:11.765%"/&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.768%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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="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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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="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;256,047&#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;193,405&#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="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;32,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,937&#160;&lt;/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;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzItOC0xLTEtMA_3a984d38-ca90-40cd-970a-480030941f31"
      unitRef="usd">256047000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzItOC0xLTEtNjUzMw_447cb717-3306-42eb-a099-5af74af92b6a"
      unitRef="usd">193405000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzMtOC0xLTEtMA_b9113cf7-6fe4-4d22-879b-9671343e41fa"
      unitRef="usd">32339000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDMvZnJhZzplYmM3YzE1NDA3ZWI0MzZkODc2NWY4Y2YzM2QzMDUzZC90YWJsZToxNWE0NjAwMmM5ZmY0NjQyOGIzYzViN2NlOWI2MDUzNi90YWJsZXJhbmdlOjE1YTQ2MDAyYzlmZjQ2NDI4YjNjNWI3Y2U5YjYwNTM2XzMtOC0xLTEtNjUzMw_79354319-a3a4-44fa-9d49-272c8d5b1b5a"
      unitRef="usd">5937000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NjI_0a26cd6c-9b2f-4674-bf77-876250706392">Investment Securities and Fair Value Measurements&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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;Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following at December&#160;31, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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;Gross Unrealized Gains&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;Gross Unrealized Losses&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;Estimated Fair Value&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;/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;Agency securities&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;17,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;29&#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)&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;17,132&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="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;Treasury securities&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;17,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;17,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;Total available-for-sale investment securities&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;34,951&#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;76&#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;(1)&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;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Amortized Cost&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;Gross Unrealized Gains&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;Gross Unrealized Losses&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;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,597&#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&#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)&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,614&#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;Agency securities&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,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;11,118&#160;&lt;/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;Treasury securities&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;14,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;14,233&#160;&lt;/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 available-for-sale investment securities&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;34,920&#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;47&#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)&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;34,965&#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-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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;At December 31, 2019, the unrealized losses on investment securities which have been in a net loss position for twelve months or greater were not material. These unrealized losses are considered temporary and there were no impairments considered to be "other-than-temporary" based on our evaluation of available evidence, which includes our intent to hold these investments to maturity or a recovery of the cost basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;At December&#160;31, 2020 and 2019, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investments, by remaining contractual maturity, are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.964%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Amortized Cost&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;Estimated Fair Value&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;Amortized Cost&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;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&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;28,197&#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;28,256&#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;22,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;22,876&#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;Due after one year through three years&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,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,089&#160;&lt;/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 available-for-sale investment securities&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;34,951&#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;35,026&#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;34,920&#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;34,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"&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 years ended December&#160;31, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&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;Gross Realized Losses&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;Gross Proceeds from Sales &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;Gross Proceeds from Maturities&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;Corporate bonds&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;6&#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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,006&#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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&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;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,900&#160;&lt;/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;/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;Treasury securities&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;19,830&#160;&lt;/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: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;35&#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)&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;16,711&#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;27,330&#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-bottom:6pt;margin-top:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:98.840%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.155%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&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.536%"/&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.536%"/&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.538%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended December 31, 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;Gross Realized Gains&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;Gross Realized Losses&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;Gross Proceeds from Sales&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;Gross Proceeds from Maturities&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;Corporate bonds&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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)&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,750&#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;11,350&#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;Agency securities&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,625&#160;&lt;/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;/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;Treasury securities&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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;685&#160;&lt;/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;/tr&gt;&lt;tr&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;6&#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;(1)&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;2,750&#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;15,660&#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="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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, 2020, 2019 and 2018 we received interest income net of the amortization and accretion of the premium and discount of $0.3 million, $0.6 million, and $1.0 million, respectively.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;&#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:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&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;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/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;Available-for-sale investment 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;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;/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;Agency securities&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;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;17,132&#160;&lt;/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;/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;Treasury securities&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;17,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,076&#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;17,132&#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;&#x2014;&#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;137,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;337&#160;&lt;/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;/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;Available-for-sale investment securities:&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;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 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;Corporate bonds&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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;11,118&#160;&lt;/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;/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;Treasury securities&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;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align: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 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;14,570&#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;20,732&#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;&#x2014;&#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;35,302&#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-bottom:6pt;margin-top:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2019, the estimated fair value of the $50.0&#160;million term loan issued by Wells Fargo Bank, National Association ("Wells Fargo"), as administrative agent, and the lenders that are parties thereto ("Term Loan") and the $50.0&#160;million revolving credit facility made available to us by Wells Fargo and the lenders that are parties thereto ("Revolving Facility," and, together with the Term Loan, the "Credit Facility"), approximated their carrying values due to the variable interest rates. We considered the fair value of the Credit Facility to be Level 2 measurements as these debt instruments were not actively traded. We carried the Term Loan at face value less the unamortized discount. Refer to Note 10, &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;Long-Term Debt, &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;of our Consolidated Financial Statements for more information about our since-terminated Credit Facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no changes to our valuation techniques used to measure asset and liability fair values on a recurring basis during the&#160;year ended December&#160;31, 2020. The valuation techniques for the financial assets in the tables above are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020 and 2019, cash equivalents include cash invested in money market funds and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Available-for-Sale Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Non-Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired.  For the years ended&#160;December&#160;31, 2020, 2019 and 2018, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.&lt;/span&gt;&lt;/div&gt;</appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NzM_05b8224d-bb99-41f2-a17f-a33524ae3e41">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following at December&#160;31, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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;Gross Unrealized Gains&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;Gross Unrealized Losses&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;Estimated Fair Value&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;/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;Agency securities&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;17,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;29&#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)&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;17,132&#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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="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;Treasury securities&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;17,847&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;17,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;Total available-for-sale investment securities&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;34,951&#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;76&#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;(1)&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;35,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Amortized Cost&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;Gross Unrealized Gains&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;Gross Unrealized Losses&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;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,597&#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&#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)&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,614&#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;Agency securities&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,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;11,118&#160;&lt;/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;Treasury securities&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;14,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;14,233&#160;&lt;/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 available-for-sale investment securities&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;34,920&#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;47&#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)&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;34,965&#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:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtMS0xLTEtMA_46cdb534-761e-4330-b7b7-9041ea8cc535"
      unitRef="usd">17104000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtMy0xLTEtMA_2a4aea00-3d86-4e15-a9e2-2a681a229d31"
      unitRef="usd">29000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtNS0xLTEtMA_8039c8e7-f8ce-41a5-b8ac-801ab1c0edc1"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i78b6030868ae4c7d94cfbca83d304d2d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzMtNy0xLTEtMA_f89e5d36-86db-4cd7-bfde-5d70658e8f26"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtMS0xLTEtMA_13cc709b-4e08-4dfb-a66f-d23afe33e3d4"
      unitRef="usd">17847000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtMy0xLTEtMA_e7f67e1a-ef27-47a7-a0d6-1a26a0583f73"
      unitRef="usd">47000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtNS0xLTEtMA_d8da7472-0eff-46a9-ac0c-890ceb5058a6"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8cf289ac68fb426db15e6292cf385cfb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzUtNy0xLTEtMA_4c759fa6-4dc5-4213-83a7-06bbb23f3e8e"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtMS0xLTEtMA_bd0f5f99-4a5f-4cbe-b2a9-cf3b4ce4d107"
      unitRef="usd">34951000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtMy0xLTEtMA_4761ce93-2861-4749-a98d-11e49f485cf5"
      unitRef="usd">76000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtNS0xLTEtMA_e09a1f5c-da9b-4473-973b-bf86e9856b99"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTozMzg2YTA4MTU5OTM0ZjVkYjJkNGEzZWRmYzUxYjEzYy90YWJsZXJhbmdlOjMzODZhMDgxNTk5MzRmNWRiMmQ0YTNlZGZjNTFiMTNjXzYtNy0xLTEtMA_91d986ea-bf33-4668-8e74-cc5cc600537f"
      unitRef="usd">35026000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItMS0xLTEtMA_bb4abbf0-143f-4a76-8f59-c8e5cfefacab"
      unitRef="usd">9597000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItMy0xLTEtMA_f03745fd-cc6c-4ed2-940f-6ec5c4a2852c"
      unitRef="usd">18000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItNS0xLTEtMA_d552be53-2bd6-4f7e-8f06-4df748a76ec9"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i48dbca9878c24d70b873012d65fa2a24_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzItNy0xLTEtMA_20689a00-e515-4a47-8961-1314b2f3820a"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtMS0xLTEtMA_efc1a045-4783-4d22-b788-d4890052d1f3"
      unitRef="usd">11101000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtMy0xLTEtMA_3a9f78d3-4a0f-4ce8-bbc1-9f0b0f3bab01"
      unitRef="usd">17000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtNS0xLTEtMA_42910f81-ae52-41f5-a824-de28ec48e52f"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6f51dcdbd6204647b6c985d4fd00579b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzMtNy0xLTEtMA_16a0acf7-1cca-4ea0-afa7-f8b9354f39d1"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtMS0xLTEtMA_ecbd43b9-dc4f-4782-b215-374c2a98d9ec"
      unitRef="usd">14222000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtMy0xLTEtMA_ea8eac0c-cd24-4e53-b725-26833911f540"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtNS0xLTEtMA_37738d6a-ff30-45be-98df-8e0cc6535c2d"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id7048402d3c548c4966c4b9f13de2380_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzQtNy0xLTEtMA_cb716e10-4d83-47a8-8f0f-eed97c1bce8f"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtMS0xLTEtMA_5f1348d7-fa1a-4eef-b6d7-1134707f49a2"
      unitRef="usd">34920000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtMy0xLTEtMA_5f770a2e-7d83-410f-8753-d7f87129b581"
      unitRef="usd">47000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtNS0xLTEtMA_9a4d2995-97cd-4987-b976-d0ebc3198e0d"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphYjg0MGI5MGFkODc0Yzc5OGY4ZjQ5MzlkNzUxNzVkYy90YWJsZXJhbmdlOmFiODQwYjkwYWQ4NzRjNzk4ZjhmNDkzOWQ3NTE3NWRjXzUtNy0xLTEtMA_ca217e61-146f-4a5d-931c-6dabe02a7803"
      unitRef="usd">34965000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NTk_b2d1b1f6-49dc-49b6-8079-d189523cb9bc">&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;At December&#160;31, 2020 and 2019, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investments, by remaining contractual maturity, are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.964%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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:8pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Amortized Cost&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;Estimated Fair Value&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;Amortized Cost&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;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&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;28,197&#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;28,256&#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;22,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;22,876&#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;Due after one year through three years&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,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,089&#160;&lt;/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 available-for-sale investment securities&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;34,951&#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;35,026&#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;34,920&#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;34,965&#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:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzY4MQ_5320cff7-f360-47fa-9c82-561403d9e94f">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzY4MQ_9e0d3dd1-a971-4f5c-8b42-f9f0f7fb5096">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItMS0xLTEtMA_a7c19df3-6ad6-4b3d-8825-69e95d1802c5"
      unitRef="usd">28197000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItMy0xLTEtMA_f8ebed9b-d812-4d21-ba9e-91a514677360"
      unitRef="usd">28256000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItNS0xLTEtMA_7c4b4704-c35d-4668-9015-09c148391a53"
      unitRef="usd">22846000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzItNy0xLTEtMA_070c8be8-e811-439c-864d-686f7ded8569"
      unitRef="usd">22876000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtMS0xLTEtMA_4f082ebd-25fb-404c-a851-658b2a26fb66"
      unitRef="usd">6754000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtMy0xLTEtMA_d4bc1567-6dcc-474d-8a5e-3135c82a8a4d"
      unitRef="usd">6770000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtNS0xLTEtMA_b2d08572-1c2d-450e-9feb-06d4cfb4e566"
      unitRef="usd">12074000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzMtNy0xLTEtMA_f0075045-fe0e-4e25-96da-fb87e640c5d1"
      unitRef="usd">12089000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtMS0xLTEtMA_2526f93d-2ae0-4b19-9ae2-97945829f527"
      unitRef="usd">34951000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtMy0xLTEtMA_c365a1f2-0d51-460d-8fce-4fc4665d6a4d"
      unitRef="usd">35026000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtNS0xLTEtMA_3f342ecd-40e3-4032-a317-172d9942c28e"
      unitRef="usd">34920000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo1MmU2YzE4MDIyOWQ0Y2Y1ODg2ZTkwZDZhNDY5NzYxNS90YWJsZXJhbmdlOjUyZTZjMTgwMjI5ZDRjZjU4ODZlOTBkNmE0Njk3NjE1XzQtNy0xLTEtMA_78748acd-ba88-4043-8fb0-359b631972c0"
      unitRef="usd">34965000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ScheduleOfRealizedGainLossTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NDc_c27619dd-4988-43a5-94d9-269951ad7c50">&lt;div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"&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 years ended December&#160;31, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&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;Gross Realized Losses&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;Gross Proceeds from Sales &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;Gross Proceeds from Maturities&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;Corporate bonds&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;6&#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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,006&#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,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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&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;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,900&#160;&lt;/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;/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;Treasury securities&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;19,830&#160;&lt;/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: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;35&#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)&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;16,711&#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;27,330&#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;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:98.840%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.155%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&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.536%"/&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.536%"/&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.538%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended December 31, 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;Gross Realized Gains&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;Gross Realized Losses&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;Gross Proceeds from Sales&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;Gross Proceeds from Maturities&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;Corporate bonds&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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)&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,750&#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;11,350&#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;Agency securities&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,625&#160;&lt;/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;/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;Treasury securities&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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;685&#160;&lt;/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;/tr&gt;&lt;tr&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;6&#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;(1)&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;2,750&#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;15,660&#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:ScheduleOfRealizedGainLossTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItMS0xLTEtMA_cacf4c6b-30aa-4865-ab9f-503d9849e629"
      unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItMy0xLTEtMA_d3d0d1ac-259a-4ec9-9cae-a797e9bea7d9"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItNS0xLTEtMA_14cafe91-2581-4151-87da-eb6e107c86a3"
      unitRef="usd">4006000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="icbfe841fc9d24061ab763d5812f194de_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzItNy0xLTEtMA_78de085e-1bd8-4368-b0d4-c99752cc4809"
      unitRef="usd">5600000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtMS0xLTEtMA_e690a17d-4d79-40c1-b985-a04de28f3f47"
      unitRef="usd">25000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtMy0xLTEtMA_0c20d9e1-e0ef-4c2c-9cad-02b2c34d3062"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtNS0xLTEtMA_7f125cf5-2c53-47c8-860d-dff6d1577c22"
      unitRef="usd">7878000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i66a55d91487a4d5a969d369fe0ceabff_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzMtNy0xLTEtMA_c3824b5b-b1a8-4c92-8191-46054d510588"
      unitRef="usd">1900000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtMS0xLTEtMA_62bd0efb-23cc-449b-a1bd-8b3d1edccb01"
      unitRef="usd">4000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtMy0xLTEtMA_20378055-cfa3-432c-8c39-cc2b6b38d7e0"
      unitRef="usd">2000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtNS0xLTEtMA_8d9ef0ca-7ed9-4964-8552-edadfd6bb1fe"
      unitRef="usd">4827000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i063bf61a1c614c57881281e9237e7cc7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzUtNy0xLTEtMA_7a3b8583-7c4b-4aa5-a274-01783e97534d"
      unitRef="usd">19830000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtMS0xLTEtMA_4927883c-4c7d-4a3f-83ae-4df145e11269"
      unitRef="usd">35000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtMy0xLTEtMA_1837c8f2-587d-4fd4-968a-2d34e7df2edf"
      unitRef="usd">2000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtNS0xLTEtMA_86e5c4df-9f21-4409-90ba-b745cab3c2a3"
      unitRef="usd">16711000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZDc5ODQzZTI2ZDk0NWNmOWZhZWRkZTgzZTI4M2E1NC90YWJsZXJhbmdlOjhkNzk4NDNlMjZkOTQ1Y2Y5ZmFlZGRlODNlMjgzYTU0XzYtNy0xLTEtMA_bafc58f1-56c9-43d2-92c5-78bba67cadac"
      unitRef="usd">27330000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItMS0xLTEtMA_c4abec8d-c054-4030-9126-38ecac724f42"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItMy0xLTEtMA_b3ac0e7b-dcea-4000-91ba-438fd848db49"
      unitRef="usd">1000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItNS0xLTEtMA_089e37b3-4985-401f-bf8f-8172a5e5f3a1"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="iebc4c45ba805479a827d635e1b70430d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzItNy0xLTEtMA_535caa84-4429-486e-b189-a978a7d35015"
      unitRef="usd">11350000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtMS0xLTEtMA_f814d7b7-6a72-48f5-ae88-90e78610fa95"
      unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtMy0xLTEtMA_3c087d06-d280-41a0-ba8c-ac1befb6b6e5"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtNS0xLTEtMA_8c93d6ea-bc41-4ef6-81d4-0c02b518017b"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i58fd03d6e4b044e5a362dfb44b2a3f33_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzMtNy0xLTEtMA_e289e592-bbe8-416a-b892-3859c4b31054"
      unitRef="usd">3625000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtMS0xLTEtMA_7f49bfc9-41a3-4c9b-854b-9912c016ebf4"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtMy0xLTEtMA_08783b94-e106-4e17-99a7-d223c2941441"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtNS0xLTEtMA_00423da1-4e1d-4b50-b40c-635bbd2e5578"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ie0e6a29b38094c8791d030fbe4ce319c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzUtNy0xLTEtMA_a382852b-41ad-4095-84a7-2a43f74fa71d"
      unitRef="usd">685000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctMS0xLTEtMA_a7d18c01-3684-4093-860f-b01146c98f1f"
      unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctMy0xLTEtMA_3355fb32-dc1e-47d3-9ca5-b9d9c45aa86b"
      unitRef="usd">1000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctNS0xLTEtMA_3b048724-97d3-4c5f-b9b2-7f0c60094005"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTo4ZmQ3OGQxYjI3YzE0NGJlODYwNmIzNGI5MzZmNzkzMS90YWJsZXJhbmdlOjhmZDc4ZDFiMjdjMTQ0YmU4NjA2YjM0YjkzNmY3OTMxXzctNy0xLTEtMA_b05f26f2-d01c-40cb-91d7-92539727a681"
      unitRef="usd">15660000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwNzk_de0f851a-8231-4291-92ae-6788acbfca9b"
      unitRef="usd">300000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwODM_6d6cb78c-652e-4a26-8d58-a21f85212f82"
      unitRef="usd">600000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzEwOTE_30d02764-8e18-4a30-8221-e1fad35210c5"
      unitRef="usd">1000000.0</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NDU_5211d560-b6fb-48d9-9835-cb524b2c3b50">The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;&#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:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&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;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/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;Available-for-sale investment 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;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;/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;Agency securities&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;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;17,132&#160;&lt;/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;/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;Treasury securities&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;17,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,076&#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;17,132&#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;&#x2014;&#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;137,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;337&#160;&lt;/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;/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;Available-for-sale investment securities:&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;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 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;Corporate bonds&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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;11,118&#160;&lt;/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;/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;Treasury securities&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;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align: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 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;14,570&#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;20,732&#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;&#x2014;&#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;35,302&#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:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzM1NjA_f266f421-6572-4165-ab2c-113989d83d0b">The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;&#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:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;4,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&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;97,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,433&#160;&lt;/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;Available-for-sale investment 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;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;/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;Agency securities&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;17,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;17,132&#160;&lt;/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;/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;Treasury securities&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;17,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,076&#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;17,132&#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;&#x2014;&#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;137,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.440%"/&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="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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;Level&#160;1&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;Level&#160;2&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;Level 3&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&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 equivalents:&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: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;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 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;Money market funds&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;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;337&#160;&lt;/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;/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;Available-for-sale investment securities:&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;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 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;Corporate bonds&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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;11,118&#160;&lt;/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;/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;Treasury securities&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;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align: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 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;14,570&#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;20,732&#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;&#x2014;&#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;35,302&#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:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0ed5787f541b486d876c274976b0b95f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtMS0xLTEtMA_df07821b-5510-4260-8857-60d4ce1a5d89"
      unitRef="usd">4749000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i71bd0b1d46504994a1f45f2ab19fb143_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtMy0xLTEtMA_56b9e209-765a-45a3-908e-096155b18f30"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic3806ae5e6874059b5c912a6a9c6bcab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtNS0xLTEtMA_e57c1a6f-70f1-4cf5-8512-712787a0672a"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i97ee30ebebd647588addbc170a7a6aa8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzMtNy0xLTEtMA_01094f7d-6b9c-4239-af69-91a3bc931051"
      unitRef="usd">4749000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ife7f5317c120436a8faae90027509af7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtMS0xLTEtMjQwMQ_aa8a0de6-4fea-4aa0-82e3-aeb2b5b09fed"
      unitRef="usd">97433000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib271ac0c1622494f948735c657ff48ef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtMy0xLTEtMjQwMQ_58f012f4-25e2-4963-bee6-754cf1ad6dff"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i402acf436df84b7880c2a4aa61e9d41b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtNS0xLTEtMjQwMQ_c418182e-a0d9-4f39-aa0e-bb54af034aec"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i40b37e9adad448408a57f1b45de0087e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzQtNy0xLTEtMjQwMQ_25761e39-ed7c-4ed3-b3bf-393105989fa7"
      unitRef="usd">97433000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i954b5d7bfb764e6b8df91e062c4a5f48_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtMS0xLTEtMA_561c7883-7363-4e3d-ab0a-d4984453157a"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i15ceb52655f34529b9889b41cc7b473f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtMy0xLTEtMA_346beeab-4850-47fa-aa1d-dd205f7a7ccc"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2f213a81ab22426b81c14619e6dc9e1f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtNS0xLTEtMA_d6261616-93d7-4dea-9385-d1e84ccde501"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i80b15b5a7f6843a7bd2b6e36ec705928_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzYtNy0xLTEtMA_0ff18ee5-bdba-4d39-8f99-7e0a4d9bbf67"
      unitRef="usd">17132000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3e78b1a19aec4a508dd936613ddc4ce8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtMS0xLTEtMA_5708b68d-ac34-4a32-b9b1-e37237ae3f27"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie4314adc8a2740f6b240fa95a1ebae5a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtMy0xLTEtMA_99402a9f-9c2d-4da7-b909-b3ad40d8a891"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i724e7781c207431fbf6dd28887c958a4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtNS0xLTEtMA_9fa5f4bb-e321-4b0f-aae7-58e725c76b40"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1f17e7aa7d024a5e889e2c7a20010173_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzgtNy0xLTEtMA_4f52656d-5438-4093-846a-61dcdb68d2a8"
      unitRef="usd">17894000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i6cafb0d2772f4b51801f4683cf68928f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktMS0xLTEtMA_5299ace3-dd4a-45c6-b8bb-10e879ad10b4"
      unitRef="usd">120076000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i3104d6b8cc81460b886135648ef108ae_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktMy0xLTEtMA_0856af86-7c9f-477b-a547-ccb4de0f814d"
      unitRef="usd">17132000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i45c535d20de2421f8b8c4c9f3b8f2c75_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktNS0xLTEtMA_73566434-00cb-488c-9737-f6b0887213ab"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i8f2082b48c6c4e60ab0d5bc5f521f3ab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphNjE4Mzg3MmIzM2U0N2U5YTUwMjMxNjg4ZjA3ZjU3NC90YWJsZXJhbmdlOmE2MTgzODcyYjMzZTQ3ZTlhNTAyMzE2ODhmMDdmNTc0XzktNy0xLTEtMA_20f1cfd3-899a-4204-909d-a3e97e6e47c6"
      unitRef="usd">137208000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i838feed0e5de4761b737bd296a069623_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtMS0xLTEtMA_3362bfbe-abfd-46d1-bdd5-f72c066e3a8c"
      unitRef="usd">337000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6587dce9c8104d439719029c960dcb1f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtMy0xLTEtMA_0c620d50-1bee-4fbd-9d63-01066c9f1808"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iac7a88785001472ba7c6196dbced8c27_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtNS0xLTEtMA_5ac038d8-5d66-4745-923e-928006f6bd47"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i58c8c2559f4c412c9aa777284b499f0f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzMtNy0xLTEtMA_bd2904eb-70cd-4ac4-b64a-7d0199933927"
      unitRef="usd">337000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i205b6d6d5cb64ef38699da52825221e6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtMS0xLTEtMA_328782e0-037a-4cc9-8d22-a19a492cfa7d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2bffd86069d54bde8c67ec4b9568ee3d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtMy0xLTEtMA_dedce404-2bfe-416c-9b3b-77be055c2aed"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i24df997cf5d74e7d80367e0bffcf255f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtNS0xLTEtMA_42f42231-2f3e-45d1-b73a-4926c42f959b"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if0e8e8ff65f248088bfcd2ca9b7a0474_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzUtNy0xLTEtMA_a9e718b3-d278-40e5-a6ed-96a85dc8aed2"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3c8a7325a47b41f58b3c52c55e00638f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtMS0xLTEtMA_d11f615b-ea28-4c29-aba7-1b6af586ce60"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if89c7407c49046898c2c0c7a05a86f88_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtMy0xLTEtMA_11cfda53-e0f2-4452-a9cc-17803a3524de"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1cca2492bca943899611f7977e24a7bc_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtNS0xLTEtMA_02612747-6944-4073-83ca-12de2b1b8fe1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4a05c430240548d7ae1e9439486e2959_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzYtNy0xLTEtMA_13fa45f5-4bd9-4651-81bf-73a54eadc6a1"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iafa0cc8ceb8744b589dad51320e7b254_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktMS0xLTEtNTc3_72ab12b4-99c7-4173-9a19-71df140ab2f9"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3703ca84213b404bb3cda52c9cd9f86c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktMy0xLTEtNTc3_21cd4266-f5f9-43bf-8f5d-dcf8b778d158"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5320fe164a0d41e0868d3ea73cf50da2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktNS0xLTEtNTc3_b3311d45-0b1c-4aa4-abdf-eb6272c9dad6"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i649b5470b0aa4b94a6b59f25c5c9e8a4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzktNy0xLTEtNTc3_3fc98099-b4fc-4e84-aeb4-d5d5273a41a8"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i1610bd2373aa4a68aeadc900f79ca058_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtMS0xLTEtMA_a9ec5087-d01e-4342-a281-40cafe7de78b"
      unitRef="usd">14570000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i5b021b3f26974876a89fe29b014da4f7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtMy0xLTEtMA_82c63109-4d5a-4a40-b97a-f5a3de7ef538"
      unitRef="usd">20732000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib8e7d2a2f1c7430f8b4578b37edf71d0_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtNS0xLTEtMA_e8edf39d-2ff2-4e81-85b0-c13f2b6e6c92"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="if987bb93d4bf48ff932dd2563732faff_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90YWJsZTphMmViYjY1NmUxZjI0MGFkYTgzZTJmMGQyY2JkNWUyNy90YWJsZXJhbmdlOmEyZWJiNjU2ZTFmMjQwYWRhODNlMmYwZDJjYmQ1ZTI3XzgtNy0xLTEtMA_8e5d435e-8a9b-4353-bbd5-eb3561941134"
      unitRef="usd">35302000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DebtInstrumentFairValue
      contextRef="i515bfbaa190a4882b2eff4a3157c8383_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzI3NDg3NzkwNzU2NjQ_e5279a71-e63a-4f96-8967-45d2d2749043"
      unitRef="usd">50000000.0</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="ida9949b23cc94e42aa55e15986693711_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMDYvZnJhZzpkYTIzMTg2MTY2N2U0YTM3ODllOWY5NmFmOWQ5MmVjOC90ZXh0cmVnaW9uOmRhMjMxODYxNjY3ZTRhMzc4OWU5Zjk2YWY5ZDkyZWM4XzI3NDg3NzkwNzU2OTM_026b720e-e9c3-4d51-80c1-c1aea7b952ab"
      unitRef="usd">50000000.0</us-gaap:DebtInstrumentFairValue>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzIzMw_ff412966-2a86-4188-b3a7-b16631e8e63b">Property and Equipment, net&lt;div style="margin-top:10pt;text-indent:36pt"&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, net consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&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:12.810%"/&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:8pt;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:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&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 #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&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="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;Data center and computer equipment&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;4,597&#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;7,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&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,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;/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;Office equipment&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,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,141&#160;&lt;/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;Leasehold improvements&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,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,192&#160;&lt;/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;Construction in process&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;617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,118&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross property and equipment&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;37,511&#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;26,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated depreciation&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,072)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,643)&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment, net&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;26,439&#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;14,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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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 totaled $4.0 million, $3.1 million, and $2.4 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During September 2020, $13.9&#160;million of capitalized costs, principally comprised of furniture and fixtures and leasehold improvements related to our corporate headquarters in Santa Barbara, California were ready for their intended use and were placed into service.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i85131be12f96492f9e0ebdb0c1cd2b37_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzItMS0xLTEtMA_2d0fc27a-ed84-4fe2-8d18-9e0d4f4f9340"
      unitRef="usd">4597000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i406c34a01e874bdbbc4db18c847351c5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzItMy0xLTEtMA_a69e4709-2457-4239-be5f-d4c6741c3d8a"
      unitRef="usd">7983000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia8afc8f42fe046c89039eb0f3abde265_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzMtMS0xLTEtMA_5788f70e-0651-4118-a2cb-61e2314f0831"
      unitRef="usd">6021000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib25e2a8ea9e6467aaeb63e75eb846b63_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzMtMy0xLTEtMA_716650ae-e1cd-4445-b32c-917145b6690c"
      unitRef="usd">3953000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia82cae4596f4432a9a60ae063dc10480_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzQtMS0xLTEtMA_c836e637-0dcb-43df-a69f-cfc7f3619455"
      unitRef="usd">3324000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i512e9e91df8644dda8fa5f808dba04f0_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzQtMy0xLTEtMA_9652dab7-0204-4ef0-acf8-7b737e37df4f"
      unitRef="usd">1141000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib43ad54ad91c4e21a9e213dcb3b4c221_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzUtMS0xLTEtMA_5258d2f5-2c41-4ac6-972b-fe32c15ed519"
      unitRef="usd">22952000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i12a91ae5f4854962ba8dddb3d99cf44d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzUtMy0xLTEtMA_e230c74f-02bb-481d-97c6-a2d8b69309ad"
      unitRef="usd">6192000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i2f2b6dd4a1024eeb93232927f1fafb3c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzYtMS0xLTEtMA_e0702c0c-d2d0-4d70-a5a4-5463bc78dd05"
      unitRef="usd">617000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ic563c8553e5f4977912b94d3467c73a7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzYtMy0xLTEtMA_b5c8f098-f60f-4eb3-ab22-915657124820"
      unitRef="usd">7118000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzctMS0xLTEtMA_9c57042c-a055-40af-acd8-f0b5e012a42b"
      unitRef="usd">37511000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzctMy0xLTEtMA_dde09b48-4b3b-432a-bf61-92a56a9b0ae2"
      unitRef="usd">26387000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzgtMS0xLTEtMA_18081194-722c-47d4-8bc8-5080c76f9908"
      unitRef="usd">11072000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzgtMy0xLTEtMA_6c7db665-b2ee-406a-9d28-ac1782bd36f5"
      unitRef="usd">11643000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzktMS0xLTEtMA_ab2d89b1-d0db-47af-9411-eb238a7885fd"
      unitRef="usd">26439000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90YWJsZTpkYjMzMjQxZTU0ZmE0NDAyOTMzMzkxYWJiMGIwMzYwNy90YWJsZXJhbmdlOmRiMzMyNDFlNTRmYTQ0MDI5MzMzOTFhYmIwYjAzNjA3XzktMy0xLTEtMA_1e4ac712-d377-4848-953e-08414656f8bc"
      unitRef="usd">14744000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE2OQ_c3e9dc90-0631-48f1-b4b9-1de6b9a4e982"
      unitRef="usd">4000000.0</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE3Mw_112c4dd5-aaae-4d45-ba4f-bbf89bbede08"
      unitRef="usd">3100000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzE4MQ_eebcc952-596d-4078-a3f2-f441f8c3ab06"
      unitRef="usd">2400000</us-gaap:Depreciation>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4127e588db5841269435404cd726e073_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTIvZnJhZzpmZTNhYTgxODRhN2M0MjIzYWM4Nzk1ZGFmZDRiZWJlYS90ZXh0cmVnaW9uOmZlM2FhODE4NGE3YzQyMjNhYzg3OTVkYWZkNGJlYmVhXzY1OTcwNjk3Njc4NTY_2ad470e8-d99c-4aa0-b15e-cb3bc0e7fdb8"
      unitRef="usd">13900000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUwNg_f7c48323-d01f-4eb1-ac5d-42144280168a">Capitalized Software Development Costs, net&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs, net were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&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:12.809%"/&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:12.810%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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 #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;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 #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;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;Capitalized software development costs, gross&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;96,974&#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;81,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&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;(61,515)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(51,452)&lt;/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;Capitalized software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,459&#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;30,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs were $27.3 million, $23.6 million and $13.8 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. Amortization expense with respect to software development costs totaled $17.9 million, $14.0 million and $11.0 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. During the year ended December&#160;31, 2020, $3.9 million in capitalized software development costs were divested in connection with the MyCase Transaction. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs at December&#160;31, 2020 is estimated as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.258%"/&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:12.810%"/&gt;&lt;td style="width:0.1%"/&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;Years 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: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;2021&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;18,008&#160;&lt;/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;2022&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;12,783&#160;&lt;/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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,668&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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 amortization 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 #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;35,459&#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;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUxNQ_18ed28cd-6196-4809-b3ec-ac2fe276bf85">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs, net were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&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:12.809%"/&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:12.810%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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 #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;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 #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;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;Capitalized software development costs, gross&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;96,974&#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;81,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&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;(61,515)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(51,452)&lt;/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;Capitalized software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,459&#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;30,023&#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;</appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzItMi0xLTEtMA_6ecd992b-8e35-46fe-9fbc-1d9a319ff767"
      unitRef="usd">96974000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzItNC0xLTEtMA_a6d27c1b-d62d-4693-9b1a-657e54aca76d"
      unitRef="usd">81475000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzMtMi0xLTEtMA_45aea063-1a5c-4330-8d6f-f0095f4e4c6c"
      unitRef="usd">61515000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzMtNC0xLTEtMA_287a69aa-e2a1-4b98-92d7-d56797a9c5d6"
      unitRef="usd">51452000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzQtMi0xLTEtMA_d8deba87-7fb6-4dc5-bfab-7aa36655a3ad"
      unitRef="usd">35459000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo2OWViMmY5ODNlZWM0YjQ2ODcwMzhmZDk1NjFlYzA4Yy90YWJsZXJhbmdlOjY5ZWIyZjk4M2VlYzRiNDY4NzAzOGZkOTU2MWVjMDhjXzQtNC0xLTEtMA_6205925a-ac3e-4c7d-984a-6ccad5252ee5"
      unitRef="usd">30023000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE3Mg_ddbf3434-28bc-4e17-8863-2622790bff8f"
      unitRef="usd">27300000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE3Ng_6045366e-7596-4620-8d12-613a054472f1"
      unitRef="usd">23600000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzE4Mw_093bec51-b192-4f41-86f7-3185bebcc00f"
      unitRef="usd">13800000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMwNw_40e7bc21-2416-4ce4-a0a3-f0b2fd3c2ab8"
      unitRef="usd">17900000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMxMQ_8e6cd128-1b13-4e7c-b0ae-0aa4811a453a"
      unitRef="usd">14000000.0</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzMxOA_f19929d1-3ab4-4175-93e3-285a5fc0756b"
      unitRef="usd">11000000.0</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware
      contextRef="i30010c4df2d84ca88b90d5ce364f97ae_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzEwOTk1MTE2Mjg1OTA_a4ff8a37-c58c-4734-912f-43b0af3c9ffc"
      unitRef="usd">3900000</appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90ZXh0cmVnaW9uOmNiM2Y2MmIwOGIyMjRjOWQ5Mjg5ZTliYTZmZTI2MTc4XzUwNA_8f59dd70-55a2-4f4d-872a-683ed9c6caf1">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs at December&#160;31, 2020 is estimated as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.258%"/&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:12.810%"/&gt;&lt;td style="width:0.1%"/&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;Years 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: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;2021&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;18,008&#160;&lt;/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;2022&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;12,783&#160;&lt;/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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,668&#160;&lt;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.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 amortization 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 #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;35,459&#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;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzEtMi0xLTEtMA_8534c9e5-3f6c-46c8-827f-7ba2757a7fdb"
      unitRef="usd">18008000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzItMi0xLTEtMA_d9c56e46-fc95-499f-b924-43f994f930db"
      unitRef="usd">12783000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzMtMi0xLTEtMA_9c57b79d-ceb5-48cc-943f-357eaa0bba9d"
      unitRef="usd">4668000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTUvZnJhZzpjYjNmNjJiMDhiMjI0YzlkOTI4OWU5YmE2ZmUyNjE3OC90YWJsZTo0NWEyOWViNTNkODk0MTRmODFjMjgyYjAzMTBiMGYwNy90YWJsZXJhbmdlOjQ1YTI5ZWI1M2Q4OTQxNGY4MWMyODJiMDMxMGIwZjA3XzUtMi0xLTEtMA_97be1885-6dec-4f14-9e44-c32e0d61b0e2"
      unitRef="usd">35459000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcxNw_602fd409-1c6a-4c4d-b30d-418842637dc6">Intangible Assets, net and Goodwill&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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, net consisted of the following (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.137%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.874%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;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: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;Gross&#160;Carrying&lt;br/&gt;Value&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;Accumulated&lt;br/&gt;Amortization&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;Net&#160;Carrying&lt;br/&gt;Value&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;Weighted&lt;br/&gt;Average&#160;Useful&lt;br/&gt;Life in Years&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 relationships&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 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,840&#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,550)&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,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;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;5.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;6,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;10.0&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="background-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,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(3,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Partner relationships&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;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:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;3.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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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;7,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:10pt;font-weight:400;line-height:100%"&gt;(2,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Domain names&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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(70)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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;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;5.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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #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,021&#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;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:#cceeff;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;(11,664)&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;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:#cceeff;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;16,357&#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:right;vertical-align: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.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;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: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;Gross&#160;Carrying&lt;br/&gt;Value&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;Accumulated&lt;br/&gt;Amortization&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;Net&#160;Carrying&lt;br/&gt;Value&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;Weighted&lt;br/&gt;Average&#160;Useful&lt;br/&gt;Life in Years&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;Customer relationships&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;3,070&#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,296)&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,774&#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:right;vertical-align: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.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;10.0&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;Technology&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;10,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,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="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;5.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;Trademarks and trade names&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,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;6.0&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;Partner relationships&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;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:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;3.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;Non-compete agreements&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;7,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:10pt;font-weight:400;line-height:100%"&gt;(1,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Domain names&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5.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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(470)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;1.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;Total intangible assets, net&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;33,734&#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;(12,357)&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,377&#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 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;6.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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 with respect to intangible assets totaled $4.9 million, $5.3 million and $1.2 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. Future amortization expense with respect to intangible assets is estimated as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.463%"/&gt;&lt;td style="width:0.1%"/&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;Years 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: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;2021&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;4,646&#160;&lt;/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;2022&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;4,605&#160;&lt;/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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,060&#160;&lt;/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;2024&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;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;/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;2025&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;833&#160;&lt;/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;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;2,378&#160;&lt;/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 amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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;16,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our goodwill balance is solely attributed to acquisitions. As a result of the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. There have been no impairment charges recorded against goodwill. The change in the carrying amount of goodwill during the twelve months ended December&#160;31, 2020 is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.418%"/&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at December 31, 2019&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;58,425&#160;&lt;/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 attributed to MyCase divestiture&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,278)&lt;/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;Goodwill at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,147&#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:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcxNA_4c93c4dd-7aa4-4172-bec0-26de4f7e64d7">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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, net consisted of the following (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.856%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.137%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.874%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;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: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;Gross&#160;Carrying&lt;br/&gt;Value&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;Accumulated&lt;br/&gt;Amortization&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;Net&#160;Carrying&lt;br/&gt;Value&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;Weighted&lt;br/&gt;Average&#160;Useful&lt;br/&gt;Life in Years&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 relationships&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 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,840&#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,550)&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,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;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;5.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,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;6,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;10.0&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="background-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,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(3,641)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Partner relationships&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;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:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;3.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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&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;7,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:10pt;font-weight:400;line-height:100%"&gt;(2,964)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Domain names&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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(70)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;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;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;5.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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #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,021&#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;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:#cceeff;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;(11,664)&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;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:#cceeff;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;16,357&#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:right;vertical-align: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.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 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:8pt;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: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;Gross&#160;Carrying&lt;br/&gt;Value&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;Accumulated&lt;br/&gt;Amortization&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;Net&#160;Carrying&lt;br/&gt;Value&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;Weighted&lt;br/&gt;Average&#160;Useful&lt;br/&gt;Life in Years&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;Customer relationships&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;3,070&#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,296)&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,774&#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:right;vertical-align: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.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;10.0&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;Technology&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;10,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,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="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;5.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;Trademarks and trade names&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,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;6.0&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;Partner relationships&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;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:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;3.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;Non-compete agreements&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;7,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:10pt;font-weight:400;line-height:100%"&gt;(1,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Domain names&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;5.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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(470)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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="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;1.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;Total intangible assets, net&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;33,734&#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;(12,357)&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,377&#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 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;6.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItMi0xLTEtMA_2e9d5020-ac2a-4051-8899-de6b4275a490"
      unitRef="usd">2840000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItNC0xLTEtMA_ade3312b-69b7-4a0a-9095-031c86c11909"
      unitRef="usd">1550000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iea76d1d765f54e6d80291c4826ac3a13_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItNi0xLTEtMA_aec31857-ceee-47a8-afab-c477a8581942"
      unitRef="usd">1290000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if5d02b7ae4fc48bf8963cb0529762997_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzItOC0xLTEtMA_fa4af135-48b0-40b1-8acc-bb27349bb945">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtMi0xLTEtMA_cf5c549a-0106-4fb4-8ab2-52c1f41dca74"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtNC0xLTEtMA_0a639af9-d7e8-4412-aac9-5ecacab33998"
      unitRef="usd">1787000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if2948fe13c5c4baf8a273630f7e05c6a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtNi0xLTEtMA_e83f927d-614c-46d5-ab71-3a34b65d29e3"
      unitRef="usd">6543000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2f0717644b964c458b04d2ff9f73b68b_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzMtOC0xLTEtMA_cf4d24d9-9c4e-4e4c-82fd-8ae4c824f252">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtMi0xLTEtMA_20fa7256-31f3-41f6-8341-72f4aac40e71"
      unitRef="usd">6539000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtNC0xLTEtMA_3a8c346d-4e5b-4c29-8543-88713d22d816"
      unitRef="usd">3641000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie8aadda0e8c746b287950afae233ea5d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtNi0xLTEtMA_ed714771-3696-405d-8768-870cc30d2ee8"
      unitRef="usd">2898000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i06a3dcc6b8864fe0b010eadbf7e5acde_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzQtOC0xLTEtMA_4af3c7f2-2749-4119-81f9-995f1eec0e7f">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9c393c835fa44f2da654193a7234825b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtMi0xLTEtMA_55990fe1-4267-48da-858a-c06fda23a046"
      unitRef="usd">1890000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9c393c835fa44f2da654193a7234825b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtNC0xLTEtMA_368d1c12-2995-4414-928e-12ad5ffa44c6"
      unitRef="usd">732000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9c393c835fa44f2da654193a7234825b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtNi0xLTEtMA_9b8ac9dd-8a09-477c-8811-72f954cddd2e"
      unitRef="usd">1158000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i59585b72b31549fbbf496319fdffdc12_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzUtOC0xLTEtMA_1a6ebfa6-193f-482e-ace5-d96c07a34a0b">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4bfcdf0391e844229cded3519641beec_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtMi0xLTEtMA_0d8a08df-0d01-4e0e-95d2-4d73db5acc03"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4bfcdf0391e844229cded3519641beec_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtNC0xLTEtMA_9c2a67bc-677e-4d31-8632-9e423945042b"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4bfcdf0391e844229cded3519641beec_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtNi0xLTEtMA_aa86ec86-e88e-46cf-830e-818dc39fd5e8"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ifeed99d15f794c749d7b94c1cdceb0ae_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzYtOC0xLTEtMA_f2571b87-7b1b-49f7-9ea7-2d718ee4d304">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctMi0xLTEtMA_2f0df12a-bf7f-4c89-bc05-1a5996d95b14"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctNC0xLTEtMA_e576534e-6db5-46f0-b5c3-e484ccab8289"
      unitRef="usd">2964000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i59322443f64f42fa82a6aeb2d870940d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctNi0xLTEtMA_ea70b1d6-2384-478a-8b5b-118300a889a0"
      unitRef="usd">4436000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6fde2b93714b413ba202ab95939db554_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzctOC0xLTEtMA_9211b70b-ac76-4574-8791-ec69ca9420e9">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtMi0xLTEtMA_9afaa161-15ad-4a68-ab29-7e44cd5ffb2a"
      unitRef="usd">90000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtNC0xLTEtMA_501e72b8-5007-4277-9f99-1982c039e2ce"
      unitRef="usd">70000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i0e78dc2e785542e2a2b5644873e00020_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtNi0xLTEtMA_4410e46a-95d5-4a62-a95f-82126f81350a"
      unitRef="usd">20000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="icf919fe6398845959f7346b359253f90_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzgtOC0xLTEtMA_6b81630e-f634-4c53-b732-748dd3b790ef">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if01218679d634590b83a3577557223ad_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktMi0xLTEtMA_78845df0-c956-4198-9b5d-c4050cefba30"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if01218679d634590b83a3577557223ad_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktNC0xLTEtMA_935f9489-d0a0-434c-8798-4e3dc327988b"
      unitRef="usd">240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if01218679d634590b83a3577557223ad_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktNi0xLTEtMA_bc3c4883-e070-4bb6-a1c4-74a614f54582"
      unitRef="usd">12000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6da119b01e514b70934f4ec2f647a9d6_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzktOC0xLTEtMA_cbf62a7b-dc56-49aa-9a1f-21fc54d90603">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTItMS0xLTA_4d7990c5-3ea0-4d41-bb1b-0d15ff8bfa6e"
      unitRef="usd">28021000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTQtMS0xLTA_4e6d1a01-4c33-4f53-8bb6-2ef5e1ad23d3"
      unitRef="usd">11664000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTYtMS0xLTA_6e9ab1ac-4ef0-4955-8bd0-639bea0d54b2"
      unitRef="usd">16357000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if19d9c1a49cc42d7ba1739dcca8e72a7_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTpkZmZkYTRiNjgwMmE0ZTJkYTU5MTZhZGFhYTAxMzQwNS90YWJsZXJhbmdlOmRmZmRhNGI2ODAyYTRlMmRhNTkxNmFkYWFhMDEzNDA1XzExLTgtMS0xLTA_cdd5311d-a77c-49fb-9e3c-c2da0ccd2242">P6Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItMi0xLTEtMA_f5395c52-5604-4f5e-9039-af272d36b38c"
      unitRef="usd">3070000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItNC0xLTEtMA_7fa9b436-be9f-46bc-8883-38fdc39cd4bf"
      unitRef="usd">1296000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i11d9ca937cb84bf39ecdc8ec21918a30_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItNi0xLTEtMA_ef0c9402-b5bc-4d08-bdeb-00542e8c8f3b"
      unitRef="usd">1774000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6cbb6f4e7b46444da7ae714fffa8a978_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzItOC0xLTEtMA_4c3ea49f-26a8-4dcc-93c5-4d06f378364c">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtMi0xLTEtMA_c079d875-f6bc-4603-b2de-23007d595357"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtNC0xLTEtMA_7a024c58-e4d6-4f0d-b280-cd28ba57b196"
      unitRef="usd">954000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib7a6cf90754b49568e3786d7efc9c2cd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtNi0xLTEtMA_c49917da-3da0-46e4-983a-05a8ad1984a9"
      unitRef="usd">7376000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i0112f48ffb094d65a97b721bd990a5ce_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzMtOC0xLTEtMA_ee4bf289-c620-4334-a7d8-338b150c74ff">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtMi0xLTEtMA_1998346d-6e66-47f1-87e3-0537b5831827"
      unitRef="usd">10541000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtNC0xLTEtMA_aa90008c-b418-4837-a79c-09d91586e2c2"
      unitRef="usd">6074000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="icdc30ee9208d4bcba77baaec164c7c64_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtNi0xLTEtMA_508831ac-aa4b-4b21-b73e-261654bd83f2"
      unitRef="usd">4467000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2d55b6e934984b12997c41e9c938cdf5_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzQtOC0xLTEtMA_915bacb3-a9a2-4481-bf60-52668d3526cf">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtMi0xLTEtMA_12fcc19b-512f-469d-81c5-91e85147f30f"
      unitRef="usd">2690000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtNC0xLTEtMA_243f9068-09f6-4bca-b67b-2eff39515941"
      unitRef="usd">898000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iea177e156ebb487b806bf89240e7c8b8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtNi0xLTEtMA_05c27f4d-a47b-4b6b-95af-dc4cf985f124"
      unitRef="usd">1792000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9045cb2e5d9847a59f9b41c0f9886808_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzUtOC0xLTEtMA_37718e10-8131-47cc-a9f5-14e5ed68e4d0">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtMi0xLTEtMA_dd5be60f-ca2c-4cf4-91c1-cef39527b7e5"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtNC0xLTEtMA_bac5ea3f-bc0d-4908-b5ab-ca93f3c3710e"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifb1203c43a37444b9cf6e44eaf3150b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtNi0xLTEtMA_d985d8c1-5087-45cd-999f-bdec460fb45d"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i42432e1e809641fe877687b20e2b8dbb_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzYtOC0xLTEtMA_845fcd4e-9077-4a62-a032-353211559794">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctMi0xLTEtMA_a0f774d4-9215-4bf1-b773-cad6b5d6fd2a"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctNC0xLTEtMA_79f217f3-3bc4-43d1-8206-e55cfb4d03eb"
      unitRef="usd">1484000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i2b0d072d42704847b75ee4249d034bf7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctNi0xLTEtMA_b4f36cfd-bae4-473a-84e7-b9205f27eccd"
      unitRef="usd">5916000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9f56c3879ed84f02b3caba13708ebcd6_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzctOC0xLTEtMA_36806ae8-3d34-4d4a-a05a-16e7225c4320">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtMi0xLTEtMA_85cdc8bb-808e-4d15-af70-e79d2d13074d"
      unitRef="usd">301000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtNC0xLTEtMA_4e2f0ff4-e6d8-4f3a-99dd-65eaba3d7841"
      unitRef="usd">276000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i13466a2dc6e748de9f0fb9f156621b59_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtNi0xLTEtMA_71a2730f-ba81-45f8-8e90-9db0a8eeab30"
      unitRef="usd">25000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3924e18efe364cd2ace1a364a5089f6e_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzgtOC0xLTEtMA_af60769d-600f-40f9-b60a-5f918327e8c5">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktMi0xLTEtMA_dbd20ca7-1ed7-4f9d-8379-3c07f7086547"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktNC0xLTEtMA_53000fe6-2904-4206-8a31-ef8e3d3f4d44"
      unitRef="usd">225000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9834e517f7204327a69ab87c22c7956b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktNi0xLTEtMA_7c2b170b-1b14-420a-a513-31a7ba6c50b8"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3314efe5584b45daa6d6bf3a9252e50f_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzktOC0xLTEtMA_8eb74594-782f-4b1c-812b-9f7b34d7ff1d">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTItMS0xLTA_6d415961-f787-48c7-9d9c-0c6a7cdb86cc"
      unitRef="usd">470000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTQtMS0xLTA_60284656-4ad9-409a-a35d-61f20d59d691"
      unitRef="usd">470000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i42c39ba5a870471c851f5256fd74a2a5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTYtMS0xLTA_fd0b9218-1b29-4181-bf66-024dbeb3c6e8"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i91c2d3baf0334c13b2c95f446e16f20c_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzEwLTgtMS0xLTA_8b105ce8-f5a5-4239-93e4-0b12dc50ff25">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTItMS0xLTA_2bbb2052-95fd-4b4b-8c91-09d3d5189589"
      unitRef="usd">33734000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTQtMS0xLTA_584a5877-bff1-4b68-ae72-240d03ebe2b4"
      unitRef="usd">12357000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTYtMS0xLTA_784efe58-a9c9-4be8-90a9-52bd3b5a071f"
      unitRef="usd">21377000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i941de9c5c70a4aaa8a5f02dbaee7bf38_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo2ZjQ4OTA1ZmY5Njg0YzBjYjU2OWQ4MDVkOTNlZmMwNy90YWJsZXJhbmdlOjZmNDg5MDVmZjk2ODRjMGNiNTY5ZDgwNWQ5M2VmYzA3XzExLTgtMS0xLTA_a463b342-c82d-4e9f-b22c-432fec3c2c06">P6Y2M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIwMA_95884417-05c1-454c-9867-eb053971095f"
      unitRef="usd">4900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIwNA_6b491adb-3857-4f01-b200-5d3b80e664a8"
      unitRef="usd">5300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzIxMQ_976bfe6c-e8f5-4ee1-bbe4-8cc5b8dcb668"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <appf:ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcwOQ_7a90e61c-846c-4323-80f2-77a2bee05697">Future amortization expense with respect to intangible assets is estimated as follows (in thousands): &lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.520%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.463%"/&gt;&lt;td style="width:0.1%"/&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;Years 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: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;2021&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;4,646&#160;&lt;/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;2022&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;4,605&#160;&lt;/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;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,060&#160;&lt;/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;2024&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;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;/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;2025&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;833&#160;&lt;/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;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;2,378&#160;&lt;/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 amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-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;16,357&#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;</appf:ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzEtMi0xLTEtMA_d61d563c-f2a8-4244-9be4-7f72e8f6d0bf"
      unitRef="usd">4646000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzItMi0xLTEtMA_a1aad312-85b4-40c5-a485-9162c82ec06a"
      unitRef="usd">4605000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzMtMi0xLTEtMA_6ab2e705-c0fc-45a0-a3dc-1d6ebc9aea7b"
      unitRef="usd">3060000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzQtMi0xLTEtMA_284713bd-70d4-4963-9b48-cb05d01b1403"
      unitRef="usd">835000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzUtMi0xLTEtMA_b8fffe19-b292-4d2c-a5bd-7d569bd54583"
      unitRef="usd">833000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzYtMi0xLTEtMA_7b4ec198-1309-421d-ab01-bd33064f7e3d"
      unitRef="usd">2378000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZTo3OGQ2NDZiZThlNWM0Y2FhYjJmMjIwYzZiNjExNjZiZS90YWJsZXJhbmdlOjc4ZDY0NmJlOGU1YzRjYWFiMmYyMjBjNmI2MTE2NmJlXzctMi0xLTEtMA_af2ccbd7-aa1c-4b65-a16e-cfa548346aaa"
      unitRef="usd">16357000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzY1OTcwNjk3Njg2MTg_7b73620f-9f37-41db-affc-752e66b97c6c"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90ZXh0cmVnaW9uOjRiOGQxMWY2MzM5YTQwNDc5Mzc0ODgzZjMyODhkYTVmXzcyNw_72906288-a684-4b3c-a046-5626a16af7df">The change in the carrying amount of goodwill during the twelve months ended December&#160;31, 2020 is as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.418%"/&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at December 31, 2019&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;58,425&#160;&lt;/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 attributed to MyCase divestiture&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,278)&lt;/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;Goodwill at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzAtMi0xLTEtMA_cbe9e6a6-a50d-4534-9316-28778f1bbe24"
      unitRef="usd">58425000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzEtMi0xLTEtMA_fc485840-8a99-451d-86b7-1284f6ac3730"
      unitRef="usd">2278000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMTgvZnJhZzo0YjhkMTFmNjMzOWE0MDQ3OTM3NDg4M2YzMjg4ZGE1Zi90YWJsZToxMDgyMDY2MWEwNzU0MzgwOTg4ODE0NjFmNzFmMzNiZi90YWJsZXJhbmdlOjEwODIwNjYxYTA3NTQzODA5ODg4MTQ2MWY3MWYzM2JmXzItMi0xLTEtMA_4f413633-b676-412c-827e-8692f4371078"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:CompensationRelatedCostsGeneralTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGV4dHJlZ2lvbjoxMjBjNDI5Y2RkZWU0NDY2OWMwMWEzZGY5Mjc2ZjY1MV83MTQ2ODI1NTgwNzcw_e7f4f579-3f2c-42c3-9f06-0c6674f62a70">Accrued Employee Expenses&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued employee expenses consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.975%"/&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:12.708%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.710%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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: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="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: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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&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;8,277&#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,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonuses&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;5,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commissions&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,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;td colspan="3" style="background-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,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll&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;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll taxes 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,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,270&#160;&lt;/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;Total accrued employee expenses&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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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:CompensationRelatedCostsGeneralTextBlock>
    <appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGV4dHJlZ2lvbjoxMjBjNDI5Y2RkZWU0NDY2OWMwMWEzZGY5Mjc2ZjY1MV83MTQ2ODI1NTgwNzcx_02d3e41b-fbd7-425e-8fb7-7efdbae7203e">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued employee expenses consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.975%"/&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:12.708%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.710%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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: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="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: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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&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;8,277&#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,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonuses&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;5,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued commissions&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,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;td colspan="3" style="background-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,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll&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;1,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued payroll taxes 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,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,270&#160;&lt;/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;Total accrued employee expenses&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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New 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 #000000;padding:2px 0;text-align:right;vertical-align: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,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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;</appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock>
    <us-gaap:AccruedVacationCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8xLTItMS0xLTc3NDE_aff9d23e-a3da-4bda-90f9-a5bbde615b7e"
      unitRef="usd">8277000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8xLTQtMS0xLTc3NDE_c76240e5-1985-4b1a-a962-1a5676536aa2"
      unitRef="usd">5554000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8yLTItMS0xLTc3NDE_38ec0906-563f-4d1f-bcf8-d25a658cb644"
      unitRef="usd">5638000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8yLTQtMS0xLTc3NDE_073e5ae3-e71a-41a4-ada6-93fc1369841d"
      unitRef="usd">3872000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8zLTItMS0xLTc3NDE_07f735b8-2952-467d-8fc4-25462b5e5c57"
      unitRef="usd">1995000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl8zLTQtMS0xLTc3NDE_8508a3a6-4533-490b-9b33-2138376c9211"
      unitRef="usd">1860000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl80LTItMS0xLTc3NDE_a62e10b4-1221-4fc8-9859-42cb02331940"
      unitRef="usd">1921000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl80LTQtMS0xLTc3NDE_f3b5157a-1e45-49e1-b344-5cb33ad28a70"
      unitRef="usd">5202000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl82LTItMS0xLTc5MzQ_fdfefeac-6713-4a83-ac35-826a3469f8b1"
      unitRef="usd">1057000</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl82LTQtMS0xLTc5MzQ_1a678ac3-922f-425c-8573-16e868c761d0"
      unitRef="usd">1270000</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl81LTItMS0xLTc3NDE_46e005e7-a5b4-4527-9146-6a7f7cf10dad"
      unitRef="usd">18888000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjk0L2ZyYWc6MTIwYzQyOWNkZGVlNDQ2NjljMDFhM2RmOTI3NmY2NTEvdGFibGU6YjY5OTk0MTBlMzYzNGNlOWJmNTdmOTU5NDU0MDczMGIvdGFibGVyYW5nZTpiNjk5OTQxMGUzNjM0Y2U5YmY1N2Y5NTk0NTQwNzMwYl81LTQtMS0xLTc3NDE_43d0f02f-343a-402b-acae-c4716a427380"
      unitRef="usd">17758000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDc_9dbd3aaa-4292-4290-a66d-e480e354c15e">Leases&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases for our corporate offices have remaining lease terms ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzg_e13e4af0-ccec-4e1a-a2d9-ac59fdda846f"&gt;one&lt;/span&gt; to eleven years, some of which include options to extend the leases for up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is responsible, including common area maintenance. Operating lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $5.3 million and $5.1&#160;million, respectively. Variable lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $1.4&#160;million and $1.1&#160;million, respectively. We recorded rent expense of $2.6&#160;million for the year ended December&#160;31, 2018. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Lease-related assets and liabilities were as follows (in thousands, except years and %): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.791%"/&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:8pt;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: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: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="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: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="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;Assets&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: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;Prepaid expenses and other current assets&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;3,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;3,908&#160;&lt;/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;Operating 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;30,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,803&#160;&lt;/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;/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: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;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:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&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,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,826&#160;&lt;/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;Operating 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;40,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,312&#160;&lt;/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 12.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 lease liabilities&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;41,991&#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 #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;36,138&#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:15pt"&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:400;line-height:100%"&gt;Weighted-average remaining lease term (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;10.8&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;10.6&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;Weighted-average discount 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;4.5&#160;&lt;/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;4.7&#160;&lt;/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;/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:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2020 were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31, &lt;/span&gt;&lt;/td&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;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;(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: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;(915)&lt;/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;2022&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,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;/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;2023&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,845&#160;&lt;/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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,797&#160;&lt;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,671&#160;&lt;/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;Thereafter&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;32,040&#160;&lt;/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 12.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 future minimum lease payments&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;49,982&#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;Less: imputed interest&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,963)&lt;/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:11.25pt"&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;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:#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;38,019&#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"&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;Future minimum lease payments for the year ending December 31, 2021 are presented net of tenant improvement allowances of $4.8 million.&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:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &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;Prepaid expenses and other current assets&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; of $4.0 million on our Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next twelve months. &lt;/span&gt;&lt;/div&gt;On December 17, 2020, we entered into a lease amendment for 1707 N Plano Road, Richardson, Texas. The amendment expands the current leased space with three additional suites totaling approximately 23,833 square feet and extends the lease term to March 31, 2032. The total commitment under this lease is $11.6&#160;million.</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i8c44c9d704f94577a58842cd80552570_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzk_bcef428a-450a-4770-a120-1d061ddeaa9e">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LessorOperatingLeaseRenewalTerm
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcxNDY4MjU1ODYwNjc_0adb02aa-4c6b-41d4-9941-6a62395ea11b">P10Y</us-gaap:LessorOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseCost
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcwNg_0b7955e0-f2dc-42d8-96d8-fb88274ee836"
      unitRef="usd">5300000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzM1OTU_5cf99678-c58e-4308-a3c1-462ee705344f"
      unitRef="usd">5100000</us-gaap:OperatingLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3NzI3MTM_bded6030-9841-439f-8dae-38f707d821d9"
      unitRef="usd">1400000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3NzI3Mjc_6e7232fb-b783-4c5b-bf25-ec486c559fd7"
      unitRef="usd">1100000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseAndRentalExpense
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzM2MTA_1114fdc8-8966-4123-885d-0df132b8f1c8"
      unitRef="usd">2600000</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDg_04c4cfc1-176e-4675-9f6e-c9d330673198">Lease-related assets and liabilities were as follows (in thousands, except years and %): &lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.791%"/&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:8pt;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: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: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="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: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="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;Assets&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: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;Prepaid expenses and other current assets&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;3,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;3,908&#160;&lt;/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;Operating 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;30,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,803&#160;&lt;/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;/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: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;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:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&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,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,826&#160;&lt;/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;Operating 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;40,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,312&#160;&lt;/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 12.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 lease liabilities&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;41,991&#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 #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;36,138&#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:15pt"&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:400;line-height:100%"&gt;Weighted-average remaining lease term (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;10.8&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;10.6&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;Weighted-average discount 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;4.5&#160;&lt;/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;4.7&#160;&lt;/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;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEtMS0xLTEtMA_6e464dc7-523f-496a-8122-bdf0bbadda15"
      unitRef="usd">3972000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEtMi0xLTEtMzA3NA_598822dc-9879-456f-a4fe-74c51511a4fb"
      unitRef="usd">3908000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzItMS0xLTEtMA_871c2392-8887-4bd0-b2f8-ecfe77a6171a"
      unitRef="usd">30561000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzItMi0xLTEtMzA3NA_a9e58201-7976-40a0-b96b-7fe22f3f5455"
      unitRef="usd">27803000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMS0xLTEtMA_c2b41abe-8eeb-40c0-9ef8-6e9230fcb1bf"
      unitRef="usd">1845000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMi0xLTEtMzA3Nw_b059aa22-5c4d-429e-9f9b-2638859b761d"
      unitRef="usd">2826000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzYtMS0xLTEtMA_e54fbb30-92cb-4037-8bb4-c49bf4a662af"
      unitRef="usd">40146000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzYtMi0xLTEtMzA3Nw_b6bebe5f-e501-4282-83dd-9fc7f6d4333f"
      unitRef="usd">33312000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzctMS0xLTEtMA_dd24f3dd-574a-4525-9010-ad58a362dbfe"
      unitRef="usd">41991000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzctMi0xLTEtMzA3Nw_d3914c13-a4eb-4031-9968-39441b28f006"
      unitRef="usd">36138000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzktMS0xLTEtMA_44fe0517-867c-4c22-8f2d-1afa07b35605">P10Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzktMy0xLTEtNjYyMA_22019d94-498e-4e6f-af87-794b517636b0">P10Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEwLTEtMS0xLTA_771d44ca-42c1-409d-a9a9-38c11fffaad4"
      unitRef="number">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzEwLTMtMS0xLTY2MjA_4d1b52b3-4f45-40a7-a028-b906a3b94d7e"
      unitRef="number">0.047</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3MDk_e45b21be-e864-46fd-8a3d-6d0f0ffb202b">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2020 were as follows (in thousands): &lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31, &lt;/span&gt;&lt;/td&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;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;(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: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;(915)&lt;/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;2022&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,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;/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;2023&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,845&#160;&lt;/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;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,797&#160;&lt;/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;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,671&#160;&lt;/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;Thereafter&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;32,040&#160;&lt;/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 12.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 future minimum lease payments&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;49,982&#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;Less: imputed interest&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,963)&lt;/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:11.25pt"&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;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:#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;38,019&#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"&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;Future minimum lease payments for the year ending December 31, 2021 are presented net of tenant improvement allowances of $4.8 million.&lt;/span&gt;&lt;/div&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:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &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;Prepaid expenses and other current assets&lt;/span&gt; of $4.0 million on our Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next twelve months.</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzEtMS0xLTEtMA_caf96818-17c6-42ae-92f8-7ac7f3a88bd4"
      unitRef="usd">-915000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzItMS0xLTEtMA_0cb69e1d-88c1-412a-8adf-783173cbf411"
      unitRef="usd">4544000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzMtMS0xLTEtMA_950641f2-9e39-4399-a419-ac26b60ee139"
      unitRef="usd">4845000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzQtMS0xLTEtMA_07651143-de88-43c9-8052-b6148c7a6c3e"
      unitRef="usd">4797000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzUtMS0xLTEtMA_ca9c1243-b752-4804-8081-1e008db890af"
      unitRef="usd">4671000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzYtMS0xLTEtMA_0fc29daa-3b70-49c7-b4dd-85b5e4caecc6"
      unitRef="usd">32040000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzctMS0xLTEtMA_6eb69b08-513b-4956-b0a5-378c224d7c6e"
      unitRef="usd">49982000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzgtMS0xLTEtMA_6416c397-c1e8-4388-a518-a48381578b24"
      unitRef="usd">11963000000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTpiNGZjNzQwYjk5Yjk0OGVlYjJmOGY1YWEwZGUwNDk3OS90YWJsZXJhbmdlOmI0ZmM3NDBiOTliOTQ4ZWViMmY4ZjVhYTBkZTA0OTc5XzktMS0xLTEtMA_48d16d53-67de-4a39-be28-0a20e3580e89"
      unitRef="usd">38019000000</appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion>
    <appf:TenantImprovementAllowance
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzExNDU_799dbd7d-5f72-4b7f-8102-1457b2840665"
      unitRef="usd">4800000</appf:TenantImprovementAllowance>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i1839549352ce40bb80d59575701cc727_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzEzMDk_e2c9b5da-50c5-4f09-a878-4ef749aa19fc"
      unitRef="usd">4000000.0</us-gaap:OperatingLeaseLiabilityCurrent>
    <appf:LesseeOperatingLeaseSquareFeetOfLeasedArea
      contextRef="iaf40a4a4574a4692a96d0a3775c9bce2_D20201217-20201217"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzcxNDY4MjU1ODYwODU_797c3a0f-84d1-4e64-844e-60a0b05bf34f"
      unitRef="sqft">23833</appf:LesseeOperatingLeaseSquareFeetOfLeasedArea>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib579298b6d534de4a508f67a6eb46121_I20201217"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzI3NDg3NzkwNzI3MDc_911a71dd-c533-4a6f-99fc-447a1869ebd0"
      unitRef="usd">11600000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LongTermDebtTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzUwMTk_8cb95b98-f31d-477f-866f-dfd10bb6c8f4">Long-term Debt&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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;Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 24, 2018, we entered into Amendment Number Two to the Credit Agreement (the "Second Amendment") with Wells Fargo, as administrative agent, and the lenders that were parties thereto (as amended, the "Credit Agreement"). Under the terms of the Second Amendment, the lenders issued the Term Loan to us and increased the amount available under the Revolving Facility to $50.0 million. The maturity date of the Term Loan and Revolving Facility was December 24, 2023. In addition, pursuant to the Second Amendment, we were permitted to make certain restricted junior payments, including, without limitation, repurchases of our common stock, and to enter into acquisitions with no value limitation, so long as we maintained specified liquidity requirements and leverage ratios. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Second Amendment also modified certain financial covenants by, among other things, requiring us to maintain (i) an EBITDA to interest expense ratio of not less than 3.0 to 1.0, and (ii) a funded indebtedness to EBITDA ratio of not more than 3.5:1.0 (the "Required Leverage Ratio") (decreasing by 0.25 per year until the Required Leverage Ratio is 2.5 to 1.0); provided, however, that we were not required to maintain the foregoing ratios if our liquidity (defined as the sum of the remaining borrowing capacity under the Credit Agreement and available cash) had equaled or exceeded the greater of $20.0 million and 20% of the sum of the outstanding principal amount of the Term Loan and commitments under the Revolving Facility. If we entered into an acquisition with a purchase price greater than or equal to $20.0 million, then the Required Leverage Ratio would be increased by 0.5 for the 12-month period immediately following the consummation of such acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement contained customary affirmative, negative and financial covenants. The affirmative covenants required us to, among other things, disclose financial and other information to the lenders, maintain our business and properties, and maintain adequate insurance. The negative covenants restricted us from, among other things, incurring additional indebtedness, prepaying certain types of indebtedness, encumbering or disposing of our assets, making fundamental changes to our corporate structure, and making certain dividends and distributions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 terms of the Second Amendment, borrowings under the Credit Agreement would bear interest at a fluctuating rate per annum equal to, at our option, (i) LIBOR or (ii) an alternate base rate, in each case plus the applicable interest rate margin. Borrowings would fluctuate between LIBOR plus 1.5% per annum and adjusted LIBOR plus 2.0% per annum (or between the alternate base rate plus 0.5% per annum and the alternate base rate plus 1.0% per annum), based upon our Required Leverage Ratio. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fees payable on the unused portion of the Revolving Facility were 0.25% per annum, unless the average usage of the Revolving Facility was equal to or less than $30.0&#160;million for the applicable period, in which case the fees on the unused portion of the Revolving Facility would have been 0.375% per annum.&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In connection with the MyCase Transaction, and as required by the terms of the Credit Agreement, the Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility thereunder, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the MyCase Transaction and extinguished. Immediately prior to the repayment of amounts owed under, and termination of, the Credit Agreement, there were approximately $48.1&#160;million in term loans outstanding and $49.1&#160;million in revolving borrowings outstanding. Refer to Note 1, &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:115%"&gt;Nature of Business&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;, and Note 3, &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:115%"&gt;Divestitures and Business Combinations&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;, of our Consolidated Financial Statements for more information about the MyCase Transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Debt Financing Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the Second Amendment, we incurred $0.4&#160;million in financing fees that were capitalized and amortized over the remaining life of the related debt, $0.2&#160;million of which was related to the Term Loan and $0.2&#160;million of which was related to the Revolving Facility. Pursuant to GAAP, the Second Amendment is accounted for as a debt modification. As a result, the unamortized deferred debt financing costs related to the Revolving Facility prior to the Second Amendment were added to the $0.2&#160;million of deferred debt financing costs related to the Second Amendment and amortized over the remaining life of the Revolving Facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Debt financing costs were deferred and amortized, using the straight-line method, which approximated the effective interest method, for costs related to the Term Loan and the straight-line method for costs related to the Revolving Facility over the term of the arrangement; such amortization is included in &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;Interest expense, net&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 the Consolidated Statements of Operations. Amortization of deferred debt financing costs was not material for the years ended December&#160;31, 2020, 2019 and 2018. At December&#160;31, 2019, the remaining unamortized deferred debt financing costs were $0.4 million, of which $0.2 million was offset against debt. As of December&#160;31, 2019, $0.3 million of the remaining unamortized deferred debt financing costs were recorded in &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;Prepaid expenses and other current assets &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;and&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; Other long-term assets&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; on our Condensed Consolidated Balance Sheets, as they pertained to the Revolving Facility. &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;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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 is a summary of our long-term debt as of December&#160;31, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&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:12.809%"/&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:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;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;Principal amounts due under Term Loan&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt financing 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;&#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;(167)&lt;/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;Long-term debt, net of unamortized debt financing costs&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;&#x2014;&#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;48,583&#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:LongTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzYyMA_de701369-01ba-4448-a854-9eba086fb769"
      unitRef="usd">50000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <appf:LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio
      contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEyMDE_f2f2860b-4439-4f52-a4e0-0e92d35f29d9"
      unitRef="number">3.0</appf:LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio>
    <appf:LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio
      contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEyNzY_8ebccaa9-6d7c-4fc5-9055-a5a383ac5f05"
      unitRef="number">3.5</appf:LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio>
    <appf:LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio
      contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEzMzA_01e114b5-9f5e-46ee-964b-3c8cd9d0a963"
      unitRef="number">0.25</appf:LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio>
    <appf:LongtermDebtCovenantRestrictionsRequiredLeverageRatio
      contextRef="ief4ca0d6062342e09748b18158236fe3_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzEzNzk_ab619275-f9e4-4fc8-b8a5-90ed82c99b88"
      unitRef="number">2.5</appf:LongtermDebtCovenantRestrictionsRequiredLeverageRatio>
    <appf:LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts
      contextRef="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzE1ODE_856bd8ad-b28c-412e-8189-078d99a1be7c"
      unitRef="usd">20000000.0</appf:LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts>
    <appf:LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate
      contextRef="i00aaad95dd5e4b6c9f541e75f8af9bfa_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzE3ODE_a61a7f96-4e1e-411e-acbb-e400462b28da"
      unitRef="usd">20000000.0</appf:LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i97955c9d90b447298886c0809dad35fe_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzI5MjI_f99c6aad-9328-4193-9e69-c4145fce884f"
      unitRef="number">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i3d2a314ee2504faf9675a444488e13dc_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzI5NTk_e48ed0ec-b522-4ca3-a134-61538a8bf45d"
      unitRef="number">0.020</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="if25f5735de8b496f8a8d99c6e8d45323_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzMwMTM_ba4df014-abfb-4b13-ab74-cbb0d8ecbaf0"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i826b214e658d46a79510bbd20e137e62_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzMwNTk_b466c417-b8a0-4ff0-9fe6-606147e28f7f"
      unitRef="number">0.010</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i1e858f386e8440168941459a4818d4b1_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwMjA_a3d9e492-a286-4600-bb6b-9647e234432a"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <appf:LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage
      contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwNDE_52297a72-ae18-4cd1-96f3-ce00c26efbfb"
      unitRef="usd">30000000.0</appf:LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i1e858f386e8440168941459a4818d4b1_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzUwNjM_ae3b26a8-63f2-4b80-b415-9db117d1c3b1"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="ia5623b515ce04b94a632d2c12bfbd351_I20200929"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzU5NDI_96a85cea-a9db-442b-8a4b-a05232b4c796"
      unitRef="usd">48100000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i1f47cdaf3a8945fe95c94b53adcfd508_I20200929"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzU5NzE_311698e8-e20d-4d96-bf9d-c02f1dd62c1f"
      unitRef="usd">49100000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i2713f3c7fb3a48aa9a42d605d7028a69_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyMjY_efb793b3-68c4-4d72-90fc-fd86915b3429"
      unitRef="usd">400000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="ia63bf3ccdce24413b417a81518b6bd6a_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyNTM_b3130991-3918-44fa-a63b-4090583da04a"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzcyODA_43200052-c78e-4003-8524-d14adae57c47"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i5d2bb43fa25f4ede855814fbc5ea560f_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzczMDc_1bb3a05f-d720-4508-8813-27975c59533e"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="ifa0ef33b66ab45b2be95c13e1a816073_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ3MjI_40605019-e4fe-4749-a0d7-0aa86413a242"
      unitRef="usd">400000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzAwMjE_4908fc73-eeed-4910-affa-f17bb4fc1300"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i829c8c644d9041498e5e6b8e3b91f03a_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzQ5NDc4MDIzMzAwMzQ_21b8765a-a2a0-4e6a-bc8f-dce3790c9a7a"
      unitRef="usd">300000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90ZXh0cmVnaW9uOmM1MjUwOGFmNjg1MjQyNTA4ZWE0YTQ1NjY5MzllYjNlXzY1OTcwNjk3ODAwNjI_c1f02488-fb72-4f6a-92dc-856168285767">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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 is a summary of our long-term debt as of December&#160;31, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&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:12.809%"/&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:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;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;Principal amounts due under Term Loan&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt financing 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;&#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;(167)&lt;/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;Long-term debt, net of unamortized debt financing costs&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;&#x2014;&#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;48,583&#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:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzEtMi0xLTEtNjY5MA_f2edb7f5-886e-4210-a895-ab0cca770a9f"
      unitRef="usd">0</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzEtNC0xLTEtNjY5Mg_8c313d78-a64e-47f9-9d5f-e49abd577ff5"
      unitRef="usd">48750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzItMi0xLTEtNjY5MA_c772e65c-6d5d-4501-a0ad-3b3323ecf310"
      unitRef="usd">0</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzItNC0xLTEtNjY5Mg_6c3f67be-a2a7-41f2-a16f-4c8664e016c7"
      unitRef="usd">167000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzMtMi0xLTEtNjY5MA_c5c2d6ed-751e-421a-94b1-7118aa0d2131"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i7bdd49104c9a4939829127a288b50cd3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjcvZnJhZzpjNTI1MDhhZjY4NTI0MjUwOGVhNGE0NTY2OTM5ZWIzZS90YWJsZTowMjE5YzlkZjVkMDc0MjUwODIxMDdhNGZjZTgyNzlmZC90YWJsZXJhbmdlOjAyMTljOWRmNWQwNzQyNTA4MjEwN2E0ZmNlODI3OWZkXzMtNC0xLTEtNjY5Mg_bd65d884-0786-424f-a1e1-3dce4fc5c765"
      unitRef="usd">48583000</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzQxNDk_4ca33e7a-60ce-488b-af98-efa4195718cf">Commitments and Contingencies&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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;Legal Liability to Landlord Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use our insurance services, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $100,000 per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a 100% quota share of the legal liability to landlord insurance provided to our customers through our third-party service provider. Included in cost of revenue we accrue for reported claims, and an estimate of losses incurred but not reported by our property management customers, as we bear the risk related to claims. Our liability for reported claims and incurred but not reported claims at December&#160;31, 2020 and 2019 was $1.5 million and $1.8 million, respectively, and is included in &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;other current liabilities&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; on our Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in prepaid expenses and other current assets as of December&#160;31, 2020 and 2019 are $2.7 million and $1.3 million, respectively, of deposits held with a third party related to requirements to maintain collateral for our insurance services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2019, we received a Request for Information from the Civil Rights Division (Housing and Civil Enforcement Section) of the U.S. Department of Justice ("DOJ") requesting certain information relating to our compliance with the Servicemembers Civil Relief Act in connection with our tenant screening Value+ service. On November 6, 2020, the DOJ issued a no action letter, declining to take any action against us and closing its investigation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2018, we received a Civil Investigative Demand from the Federal Trade Commission ("FTC") requesting certain information relating to our compliance with the Fair Credit Reporting Act in connection with our tenant screening Value+ service (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there is a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA that could result in monetary penalty and/or injunctive relief. We disagree with the stated belief of the FTC and vigorously defended our position.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Notwithstanding our disagreement with the FTC's position, and primarily in an effort to avoid protracted litigation and potential distraction to our business, we entered into settlement negotiations with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. Those settlement negotiations resulted in a final agreement between the parties that is memorialized in a Stipulated Order for Permanent Injunction and Civil Penalty Judgment filed in the United States District Court for the District of Columbia on January 12, 2021. We admitted no wrongdoing in connection with the settlement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 second quarter of 2020, we determined that a loss stemming from the FTC Investigation was probable and that a reasonable estimate of the loss was approximately $4.3&#160;million. Accordingly, an accrual of $4.3&#160;million is included within &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;accrued expenses&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; on our Consolidated Balance Sheet as of December&#160;31, 2020. The ultimate settlement amount of $4.3&#160;million was paid in January 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 to the foregoing, from time to time, we are involved in various other investigatory inquiries or legal proceedings arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, regulatory and contractual issues. Although the results of such investigatory inquiries and legal proceedings cannot be predicted with certainty, we believe that we are not currently a party to any investigatory inquiries or legal proceeding(s) which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Indemnification&lt;/span&gt;&lt;/div&gt;In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. At&#160;December&#160;31, 2020&#160;and&#160;2019, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzQzMA_97a44794-a8c0-483f-9a1f-c51ac39dafc1"
      unitRef="usd">100000</appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit>
    <us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzU4Nw_27484a5a-d7b6-4695-866d-a4e3e4b5dd48"
      unitRef="number">1</us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="i46fb2a43bf58405182bde6aa9232f5fa_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzk5MQ_e1b3fcc7-ea10-4f83-8086-623e9c10d042"
      unitRef="usd">1500000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="i617566f47284443e9deae70759318fe3_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzk5OA_36787cf2-e997-4cca-a580-659f1e2c9a7d"
      unitRef="usd">1800000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="i757d8937ab924ece9470646b55114888_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzExNzI_714db72d-b45f-4e54-ad0a-b6899773c503"
      unitRef="usd">2700000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="ida24abba03d94978821a3af5af849f29_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzExNzk_71f53ec6-8eb3-4944-bc49-f5646b7becf3"
      unitRef="usd">1300000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <us-gaap:LossContingencyEstimateOfPossibleLoss
      contextRef="i45088498d4d54152a858c260f003d2c1_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyNjI_96112f5d-d21b-435e-9094-c338bf221511"
      unitRef="usd">4300000</us-gaap:LossContingencyEstimateOfPossibleLoss>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyNzY_297acf68-318b-4280-a877-51cb6147ab71"
      unitRef="usd">4300000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:PaymentsForLegalSettlements
      contextRef="i6bcd27dfaced473d9f8ce876ed96f27c_D20210101-20210131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzMvZnJhZzplMWE3N2IwZTdhOWQ0YmVlYmFhY2Y0ZTdjYTBhY2FhYS90ZXh0cmVnaW9uOmUxYTc3YjBlN2E5ZDRiZWViYWFjZjRlN2NhMGFjYWFhXzY1OTcwNjk3NzUyOTA_1f2ece8c-d099-424d-9b95-477132582ca9"
      unitRef="usd">4300000</us-gaap:PaymentsForLegalSettlements>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzYzOTI_d3142f8d-4cef-4e7e-a88b-e31054018129">Stockholders&#x2019; Equity &lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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;Amended and Restated Certificate of Incorporation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the effectiveness of our Amended and Restated Certificate of Incorporation on June 25, 2015, the number of shares of capital stock that is authorized to be issued was increased to 325,000,000 shares, of which 250,000,000 shares are Class A common stock, 50,000,000 shares are Class B common stock and 25,000,000 are undesignated preferred stock. The Class A common stock, Class B common stock and preferred stock have a par value of $0.0001 per share. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Class A Common Stock and Class B Common Stock &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except for voting rights, or as otherwise required by applicable law, the shares of our Class&#160;A common stock and Class B common stock have the same powers, preferences and rights and rank equally, share ratably and are identical in all respects as to all matters. The rights and preferences are as follows:&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; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Dividend Rights&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;. Subject to preferences that may apply to any shares of preferred stock outstanding at the time, the holders of outstanding shares of our Class A common stock and Class B common stock are entitled to receive dividends out of funds legally available at the times and in the amounts that our Board of Directors may determine. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Voting Rights&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 holders of our Class&#160;A common stock are entitled to one vote per share, and holders of our Class B common stock are entitled to 10 votes per share. The holders of our Class&#160;A common stock and Class B common stock will vote together as a single class on all matters submitted to a vote of our stockholders, unless otherwise required by Delaware law or our amended and restated certificate of incorporation. Delaware law could require either holders of our Class&#160;A common stock or holders of our Class B common stock to vote separately. In addition, our amended and restated certificate of incorporation requires the approval of the holders of at least a majority of the outstanding shares of our Class B common stock, voting as a separate class to approve a change-in-control transaction. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Conversion&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;. Upon the closing of our initial public offering ("IPO"), all shares of our convertible preferred stock and common stock held prior to the offering were converted into shares of Class B common stock. Currently, each share of our Class B common stock is convertible at any time at the option of the holder into one share of our Class&#160;A common stock. In addition, each share of our Class B common stock will convert into one share of our Class&#160;A common stock upon any transfer, whether or not for value, except for certain transfers described in our amended and restated certificate of incorporation, including, without limitation, (i)&#160;a transfer by a partnership or limited liability company that was a registered holder of our Class B common stock at the &#x201c;effective time,&#x201d; as defined in our amended and restated certificate of incorporation, to a partner or member thereof at the effective time or (ii)&#160;a transfer to a &#x201c;qualified recipient,&#x201d; as defined in our amended and restated certificate of incorporation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All the outstanding shares of our Class B common stock will convert automatically into shares of our Class&#160;A common stock upon the date when the number of outstanding shares of our Class B common stock represents less than 10% of all outstanding shares of our Class&#160;A common stock and Class B common stock. Once converted into our Class A common stock, our Class B common stock may not be reissued. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Right to Receive Liquidation Distributions&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;. Upon our dissolution, liquidation or winding-up, the assets legally available for distribution to our stockholders are distributable ratably among the holders of our Class&#160;A common stock and Class B common stock, subject to prior satisfaction of all outstanding debt and liabilities and the preferential rights and payment of liquidation preferences, if any, on any outstanding shares of preferred stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Preferred Stock &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effective upon the filing of our amended and restated certificate of incorporation in June 2015, no shares of preferred stock were outstanding because all outstanding shares of our convertible preferred stock converted into our Class B common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the terms of our amended and restated certificate of incorporation, our Board of Directors will be authorized, subject to limitations prescribed by Delaware law, to issue up to 25,000,000 shares of our preferred stock in one or more series, to establish from time to time the number of shares to be included in each series, and to fix the designation, powers, preferences and rights of the shares of each series and any of its qualifications, limitations or restrictions, in each case without further action by our stockholders. The number of authorized shares of any series of preferred stock may be increased or decreased, but not below the number of shares of that series then outstanding, by the affirmative vote of the holders of a majority of the voting power of our outstanding capital stock entitled to vote thereon, or such other vote as may be required by the certificate of designation establishing the series. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Share Repurchase Program&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"&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;On February 20, 2019, our Board of Directors authorized a $100.0&#160;million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of three directors, in open market purchases or in privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the Share Repurchase Program, &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;and it may be modified, suspended or terminated at any time and for any reason. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 three months ended March 31, 2020, we repurchased a total of 48,002 shares of our Class A common stock through open market repurchases, and recorded a $4.2&#160;million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the &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;Share Repurchase &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;Program subsequent to the three months ended March 31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CapitalUnitsAuthorized
      contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI2OQ_e8a80917-3238-4f38-b58e-57b67379314e"
      unitRef="shares">325000000</us-gaap:CapitalUnitsAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i486b50d6796e458787aeee05fb98d767_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI4OQ_b716adab-8e35-430f-9fb9-4dc5cf6c974d"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i06d1dcad0b414943bd97379ecab92675_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzMyNQ_e4588c9c-530f-4f64-8ecf-03b9f550912e"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie9581f6f547543d2a095259cacc478e1_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzM2NA_b6b3652c-05cf-470e-8e21-105975c364a4"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i486b50d6796e458787aeee05fb98d767_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ4OA_5cac2678-fc0e-499c-b692-3e23ab77d7c5"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i06d1dcad0b414943bd97379ecab92675_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ4OA_6c8ba824-bb07-42e2-8f48-f737eef9ebe8"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <appf:CommonStockNumberOfVotesPerShare
      contextRef="iccdd68156c904b7b8b969730c9de8556_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzE0MjY_118b06d4-9476-4f3b-a533-804b95defb08"
      unitRef="vote">1</appf:CommonStockNumberOfVotesPerShare>
    <appf:CommonStockNumberOfVotesPerShare
      contextRef="i3505cdf241aa4a2c8081f6d9f7a4c764_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzE1MDE_cf54f973-6bae-40dd-a46b-36f653fb3708"
      unitRef="vote">10</appf:CommonStockNumberOfVotesPerShare>
    <appf:ConversionOfStockNumberOfSharesIssuableUponConversion
      contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI0ODQ_a89b6bd6-e4fc-4c89-ace6-62d51136c3b1"
      unitRef="number">1</appf:ConversionOfStockNumberOfSharesIssuableUponConversion>
    <appf:ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer
      contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzI1OTI_1c94eac0-b99b-4e2d-8027-0c67fc6a454f"
      unitRef="number">1</appf:ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer>
    <appf:CommonStockAutomaticConversionThreshold
      contextRef="i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzM0MDg_8d1af1bf-ed37-4594-afde-3a4a764df3eb"
      unitRef="number">0.10</appf:CommonStockAutomaticConversionThreshold>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQxNTE_46ab214d-ac6e-4b58-aba8-495245431d45"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ic77deb8838064aa4b4d2582a554d5094_I20150625"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzQ0OTc_96afc49b-e4e1-4a22-bd3a-870c9d2974da"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i86d127b091904d9fba57f908929b83a8_I20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1NzU_6acbe09a-a82b-4684-8fc9-c3361e431136"
      unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases
      contextRef="i86d127b091904d9fba57f908929b83a8_I20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU2MTQ_5f5254ec-dd47-4010-a0fa-ece102b35686"
      unitRef="director">3</appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1OTE_eb1cfc29-7647-42c0-8b9d-2dc94e418d7c"
      unitRef="shares">48002</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="icf6294c2e6ce4c0db2bbcf34f0ca913f_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMzkvZnJhZzowMGRhYTQyY2Q0YzY0ODFkOGNkMzBmOTI0NDZjZjhkZS90ZXh0cmVnaW9uOjAwZGFhNDJjZDRjNjQ4MWQ4Y2QzMGY5MjQ0NmNmOGRlXzY1OTcwNjk3NzU1OTk_f1317b3f-e423-47e0-8381-b6ef5e0ffbbe"
      unitRef="usd">4200000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNjg_7096bbde-9c9c-4e00-8013-e281a65b261d">Stock-Based Compensation2015 Stock Incentive Plan&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In conjunction with our IPO in 2015, our Board of Directors and stockholders adopted the 2015 Stock Incentive Plan (the "2015 Plan"). Upon adoption of the 2015 Plan, 2,000,000 shares of our Class A common stock were reserved and available for grant and issuance. On January 1 of each subsequent calendar year, the number of shares available for grant and issuance under the 2015 Plan increase by the lesser of (i)&#160;the number of shares of our Class A common stock subject to awards granted under the 2015 Plan during the preceding calendar year and (ii)&#160;such lesser number of shares of our Class A common stock determined by our Board of Directors. At December&#160;31, 2020, we have reserved an aggregate of 4,026,493 shares of our Class&#160;A common stock for grant and issuance under the 2015 Plan. The number of shares of our Class A common stock is also subject to adjustment in the event of a recapitalization, stock split, reclassification, stock dividend or other change in our capitalization. The 2015 Plan authorizes the award of stock options, stock appreciation rights, RSAs, RSUs, performance awards and stock bonuses. The 2015 Plan provides for the grant of awards to our employees, directors, consultants and independent contractors, subject to certain exceptions. RSUs, PSUs, and RSAs have been issued during 2020 pursuant to the 2015 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options may vest based on the passage of time or the achievement of performance conditions at the discretion of our compensation committee.&#160;Our compensation committee may provide for stock options to be exercised only as they vest or to be immediately exercisable with any shares issued on exercise being subject to our right of repurchase that lapses as the shares vest.&#160;The maximum term of stock options granted under the 2015 Plan is 10 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RSUs and PSUs represent the right on the part of the holder to receive shares of our Class&#160;A common stock at a specified date in the future or the achievement of performance conditions at the discretion of our compensation committee, subject to forfeiture of that right due to termination of employment.&#160;If an RSU or PSU has not been forfeited, then, on the specified date, we will deliver to the holder of the RSU or PSU shares of our Class&#160;A common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;2007 Stock Incentive Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February&#160;14, 2007, our Board of Directors adopted the 2007 Stock Incentive Plan (the &#x201c;2007 Plan&#x201d;). Following our IPO, our Board of Directors determined not to make any further awards under the 2007 Plan. The 2007 Plan expired on February 14, 2017. The 2007 Plan will continue to govern outstanding awards granted under the 2007 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.219%"/&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:13.394%"/&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:13.394%"/&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:13.397%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual&#160;Life in Years&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;Options outstanding as of December&#160;31, 2019&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;1,342&#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;11.84&#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:right;vertical-align: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.9&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;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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;Options cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;23.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 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of December 31, 2020&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;1,168&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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.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="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;5.0&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;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;/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;At December&#160;31, 2020:&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options vested and expected to vest&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;1,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;11.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Options exercisable&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,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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.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="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;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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&#160;December&#160;31, 2020, 77,000 PSOs vested based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019, and 40,000 PSOs vested based on the achievement of 115% of the pre-established gross margin target for the year ended December 31, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our stock-based compensation expense for stock options for the years ended December&#160;31, 2020 was not material. Our stock-based compensation expense for stock options for the years ended December 31, 2019 and 2018 was $0.6 million and $1.6 million, respectively. At December&#160;31, 2020, the total remaining stock-based compensation expense for unvested stock options was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. No stock options were granted during the years ended December&#160;31, 2020, 2019 or 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total intrinsic value of options exercised in 2020, 2019 and 2018 was $17.9 million, $11.5&#160;million, and $7.5 million, respectively. This intrinsic value represents the difference between the fair value of our common stock on the date of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;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;exercise and the exercise price of each option. Based on the fair value of our common stock at December&#160;31, 2020, the total intrinsic value of all outstanding options, exercisable options, and options vested and expected to vest was $196.6 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The excess tax benefit realized from option exercises during the years ended December&#160;31, 2020, 2019 and 2018 was $30.1&#160;million, $20.5 million, and $7.7 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSUs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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 style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.470%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2019&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;646&#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.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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.24&#160;&lt;/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;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(268)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;36.58&#160;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(69)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;70.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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#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;80.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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&#160;year ended&#160;December&#160;31, 2020, we granted a total of&#160;160,000&#160;RSUs that are subject to time-based vesting in equal annual installments over four years, and 14,000 PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2020, 2021 and 2022, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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&#160;year ended&#160;December&#160;31, 2020,&#160;84,000 PSUs vested and 4,000 PSUs were cancelled based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in the unvested RSUs and PSUs at&#160;December&#160;31, 2020 are 32,000 and 82,000 PSUs granted in 2019 and 2018, respectively. Of these PSUs, 48,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2020, 42,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, and 24,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022. The number of PSUs granted assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize expense for the PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for the RSUs and PSUs for the years ended December&#160;31, 2020, 2019 and 2018, was $10.4 million, $8.3 million and $5.5 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, the total remaining stock-based compensation expense for these RSUs was $23.4 million, which is expected to be recognized over a weighted average period of 2.2 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSAs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted- Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2019&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;5&#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;105.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;153.41&#160;&lt;/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;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;105.88&#160;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#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;153.41&#160;&lt;/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-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a one-year period. For the years ended December&#160;31, 2020, 2019 and 2018, we recognized stock-based compensation expense for RSAs of $0.7 million, $0.3 million and $0.3 million, respectively. During 2020, the grant date fair value of the shares vested was $0.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, the total remaining stock-based compensation expense for unvested RSAs was $0.4 million, which is expected to be recognized over a weighted average period of 0.7 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance
      contextRef="i3ad85cad9ecc44e0a7d7902695ac893b_I20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzIyOA_bcc0e0cd-743e-45af-8026-f6c7c6685a3e"
      unitRef="shares">2000000</us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance>
    <us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance
      contextRef="i8a3bcdd9b57444c5a51e029d3423b314_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzc0Mw_614705a8-beb8-474e-872e-7efc757a1492"
      unitRef="shares">4026493</us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i99819e9e20e74b18823f1ff272f2c656_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzE4MjI_9a26eb8f-0e55-4386-b576-69ec45f9372b">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MTg_57bc4cd5-fafd-46e8-92b7-e48a914efe22">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.219%"/&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:13.394%"/&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:13.394%"/&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:13.397%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual&#160;Life in Years&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;Options outstanding as of December&#160;31, 2019&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;1,342&#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;11.84&#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:right;vertical-align: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.9&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;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;/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;Options cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;23.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 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of December 31, 2020&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;1,168&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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.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="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;5.0&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;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;/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;At December&#160;31, 2020:&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;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options vested and expected to vest&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;1,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;11.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;5.0&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;Options exercisable&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,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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.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="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;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtMi0xLTEtMA_884c07b5-317a-4b8c-8c52-d16472ba0fcc"
      unitRef="shares">1342000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtNC0xLTEtMA_54166532-934a-424f-9d98-6b09e43e520b"
      unitRef="usdPerShare">11.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzEtNi0xLTEtMA_09fdb2f1-01e5-4b3a-a2df-a23bce946c13">P5Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzItMi0xLTEtMA_8f1f434e-ccfa-43c5-adcd-67ce6957c9b3"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzItNC0xLTEtMA_404e5996-7faf-4dfa-a355-d9e977bea2e5"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzMtMi0xLTEtMA_921f61b9-7a6b-4eab-80f0-ed6e6068da1f"
      unitRef="shares">119000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzMtNC0xLTEtMA_8e542516-0ad9-4689-a89e-f45187c338dc"
      unitRef="usdPerShare">6.93</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzQtMi0xLTEtMA_8868c94b-3c08-4e0a-908e-f252f6db8103"
      unitRef="shares">55000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzQtNC0xLTEtMA_b75bdad9-9372-412f-ac80-648d7e65a118"
      unitRef="usdPerShare">23.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtMi0xLTEtMA_ff32f253-525c-497e-bbce-ff6eef4f0951"
      unitRef="shares">1168000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtNC0xLTEtMA_e7089fb1-fe79-4c12-8c3c-97b0c002502d"
      unitRef="usdPerShare">11.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzUtNi0xLTEtMA_c42dd6d7-bd09-4214-9676-0cb8d022875f">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtMi0xLTEtMA_73e91e64-26cf-4980-be81-f40a1a183a18"
      unitRef="shares">1168000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtNC0xLTEtMA_623bd23a-2853-49ea-8a82-7a3a9f9d34fe"
      unitRef="usdPerShare">11.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzgtNi0xLTEtMA_8d39ce89-7a82-4114-a13d-efe5aca6319f">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktMi0xLTEtMA_a6454609-a572-4f41-b57f-0dba1a2472e1"
      unitRef="shares">1168000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktNC0xLTEtMA_70a3fea0-127f-4ce7-b543-9c15272c3a6d"
      unitRef="usdPerShare">11.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkODE4YjZiMGJkZTQ0MjY0YWU2NTc3ODY5ODQ0NzIxOS90YWJsZXJhbmdlOmQ4MThiNmIwYmRlNDQyNjRhZTY1Nzc4Njk4NDQ3MjE5XzktNi0xLTEtMA_7b340508-b753-4fde-9c7f-51816599ecf9">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i1b2e06d0b70d42e9bb04a8e372756b02_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNjE_f954efa5-ea71-4653-b7e7-558b90234f99"
      unitRef="shares">77000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="id458400680174ae3a9d186337b40caf5_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNzA_80a15fc3-a15e-4291-8fb6-02f87371007e"
      unitRef="number">0.95</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="iccbf8db6b3764aae825f3fe2535d2c10_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwNzU_0a213fd6-432c-473a-b737-a8d196de9151"
      unitRef="shares">40000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="id1b662444b08435dbe2208bd233d411a_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwODM_939613be-d589-4b33-a286-85cc792e823a"
      unitRef="number">1.15</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i26426ceddf214a1ea5914e18c010cc38_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ2MDc_06cce1a3-eed4-4254-a62d-476f46d73e01"
      unitRef="usd">600000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4fd6f08a9bb84b028249c0fdce83d8bb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ2MTU_a6ecf2b6-e876-4c5a-b6d0-d9c196c0aefb"
      unitRef="usd">1600000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5a75de892bd14090845814ed9650eb72_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyOTY_d10cc4b5-cccf-4e5b-98ad-62003fb693bf"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_41695bcb-fd3c-4d41-a007-ce7ee045a1aa"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_4aa4f664-fb7a-4337-9b38-a04b56303501"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3NzYyMDQ_5f1809e4-9137-4517-9bb0-3b21469fc4aa"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUwNjE_4ce5ba52-7a8c-4bca-901f-18bd588b5077"
      unitRef="usd">17900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ5NDc4MDIzMzQ0NzI_01034330-4cbd-4531-a6fb-d0ae1325f1ec"
      unitRef="usd">11500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUwNjU_8377c22c-26be-4bed-91f1-9bbeebab09c2"
      unitRef="usd">7500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzUzNTI_314bed50-1e52-4ac3-bdc5-c7665a189b23"
      unitRef="usd">196600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzI3NDg3NzkwOTQ4MjM_62a63239-18b8-4c5f-9254-510b03ff36d2"
      unitRef="usd">30100000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzU1OTU_79539a43-6173-4982-85cb-0f87b15319a2"
      unitRef="usd">20500000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzU1OTk_9479bef5-98df-4328-90f8-eafc402e65c9"
      unitRef="usd">7700000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDQ_8172e1ea-b7a1-4505-b2b0-a995c94da062">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSUs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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 style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.470%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2019&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;646&#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.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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.24&#160;&lt;/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;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(268)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;36.58&#160;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(69)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;70.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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483&#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;80.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i950a2961c7164c988b3443285bc84af6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzEtMi0xLTEtMA_4688bee9-5fba-4c18-bf88-96871213ade0"
      unitRef="shares">646000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i950a2961c7164c988b3443285bc84af6_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzEtNC0xLTEtMA_9e99b5c5-0972-4440-a0b5-2c6bd22d3c71"
      unitRef="usdPerShare">52.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzItMi0xLTEtMA_0fc69ed3-0052-4bf5-91f8-5c29ea116b09"
      unitRef="shares">174000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzItNC0xLTEtMA_94bd7ae9-6670-4301-9ab1-f449644dc34d"
      unitRef="usdPerShare">112.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzMtMi0xLTEtMA_7b347750-edf6-4901-8137-f915cdc91702"
      unitRef="shares">268000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzMtNC0xLTEtMA_19c83f16-5821-49a4-8bc4-4ac4d35606db"
      unitRef="usdPerShare">36.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzQtMi0xLTEtMA_b22d1aed-c8d2-4c59-9920-6aef8d666c75"
      unitRef="shares">69000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzQtNC0xLTEtMA_dd9a4508-408a-4452-9d5e-beadd40bc4a6"
      unitRef="usdPerShare">70.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzUtMi0xLTEtMA_9d82409a-30d2-4e55-bcbf-f7d3859714e4"
      unitRef="shares">483000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTpkNDdmMTAzMWY4MTE0MTFjOTU1NDI2NWRlMGZiMzViNi90YWJsZXJhbmdlOmQ0N2YxMDMxZjgxMTQxMWM5NTU0MjY1ZGUwZmIzNWI2XzUtNC0xLTEtMA_d8a7e036-0579-406b-a78d-33f1307757b4"
      unitRef="usdPerShare">80.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIwODk_a88f1628-9cc8-4f11-8f48-8b0aefa3a901"
      unitRef="shares">160000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i14bdef26eb4144e79975801988ed103a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMDg_d055a53f-09d8-4a43-bf6c-4da984eaeeb2">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMTA_b5e571af-36fd-4b19-837b-ca68a2db3340"
      unitRef="shares">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="id4243e69cf1948019aae6107533fa3cc_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMTg_3f375004-0a38-4436-88b3-ddb529e25a0b"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ibf5c2c756ac0462282be61345828597f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMjQ_3f5cc00c-5442-4d0b-97ff-80e9366bffc2"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i0bcca23ab6324e1983320926fcd91402_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMjk_a91d1bef-4074-4432-8d8f-ab74a21e7371"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="id6e5225ba00e4ca9b59edf699af0b36b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxMzU_68283db9-683f-49e7-a1ca-cead4e01d6ef"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i7f02992a4d704a7ea6286f30ad53e8f9_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNDE_3e7c3093-6b6c-4ae4-bf48-fc65ec1a8d19"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i3cd044a5772d4b08a888332b9e2800e0_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNDc_a54b8ba5-a63d-4337-ab9a-a07edbe2757b"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i073aee93ba424d17a2d7685bcc354bdd_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNTM_4a2e8270-2953-4b8f-8d6a-33c54158502b"
      unitRef="number">1.65</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ib7afd0848c9a40caacc99e8e8facc49e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNTk_b4e5140d-a6fe-48f4-9bf6-d26bd1d7ac27"
      unitRef="shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="iafd019a04c294eb9b38b19f3a4b4e49f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNjc_05b912b6-60e5-42d8-a1c5-a20e4fb0e952"
      unitRef="shares">4000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="i7135702889054051b650f307ee947896_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNzQ_53bc7827-d0ff-4fae-8c60-362d13b76608"
      unitRef="number">0.95</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i230571d2508e457e8827faf8a862be19_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxNzk_205923d7-4ca0-4dba-889b-1ab96a61bf2e"
      unitRef="shares">32000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie9950d2e74804d0ca847c54c886bed89_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxODc_4e7a5ec6-cbc8-4523-89f2-b53555df6665"
      unitRef="shares">82000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i5b9a767206d24226b594e699c010c7dd_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIxOTU_c42c5c90-3f6a-430b-bf90-d51c8e85eedc"
      unitRef="shares">48000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibf610a2cad524f9aae9a0350522654f5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMDM_4967c0b1-6113-4b2f-b6e1-2be41c5feb70"
      unitRef="shares">42000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i75b755e3278244d7a45ede24ced94bb7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMTE_d2f4e0a9-febf-4d53-bd91-60b884da4e80"
      unitRef="shares">24000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i097807896b5441218874897d2974c0ea_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMTk_e435661c-5dfa-47ed-906d-d453fea6ed5e"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i815f844a27394208bed6e807911fba9d_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMjU_a876a890-2fae-4f50-abe5-c53517c3870c"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i091b6e47073340c4a614455889151648_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMzA_7d768852-3b14-4ee4-b04a-8fe275c8281c"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i33ced037467841c095de718193b884c7_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyMzY_681e4c88-2030-4af4-a7b8-03928802b05c"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i4be262ef22eb49f0b6bae988c591d0eb_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNDI_56469ae9-c76f-432b-ad01-15022a781bba"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="iea0b999a93144a26abf77107d3808e2b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNDg_e01e2dc5-f788-4203-bc76-ae0a8c483eab"
      unitRef="number">1</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="i5f352c5f20f94c8aa56aae90523e9892_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIyNTQ_1c528119-1071-40f2-8377-b12721144598"
      unitRef="number">1.65</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg1NDM_eb3a700b-a009-4631-8d1b-d04a92d38873"
      unitRef="usd">10400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie0151233bc0447fa88f5fa2684960e5a_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg1NDc_54e0ce51-dfb8-41fc-ad9f-564066eed476"
      unitRef="usd">8300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i35c4418faaa14a79b23a2cd2c7b2b434_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzQ5NDc4MDIzMzQ1MzI_fb9163e7-293c-4195-a4f5-a22784a8ab59"
      unitRef="usd">5500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i4bb3339d6c794033b847eb68961c8967_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg2NTI_85c1a9a3-5b25-4aa3-8766-c5779b8dadac"
      unitRef="usd">23400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzg3MjU_3874e743-1517-4d8e-8f61-8fadab49c343">P2Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDc_a0112c19-03ed-4282-b3c1-03fef373eca1">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of activity in connection with our RSAs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted- Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2019&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;5&#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;105.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;153.41&#160;&lt;/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;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;105.88&#160;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#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;153.41&#160;&lt;/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;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzEtMi0xLTEtMA_5758d120-2882-47e7-bf15-7ddf2a54fa5b"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i6dc94e99757f4efe807c08d12dcb5eaf_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzEtNC0xLTEtMA_6f496a8c-2fc3-403b-8355-e67570904465"
      unitRef="usdPerShare">105.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzItMi0xLTEtMA_3e91b2f5-f42e-41ae-b0c4-cb409304f843"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzItNC0xLTEtMA_40ecd8d6-b10e-486a-a399-73a7dc4fa5a5"
      unitRef="usdPerShare">153.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzMtMi0xLTEtMA_bc8f7631-d8fd-4b10-85e0-37141271ea44"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzMtNC0xLTEtMA_e36e7a4c-042a-442f-9dc4-9335dd26aac5"
      unitRef="usdPerShare">105.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzQtMi0xLTEtMA_1f7f3dc3-17f6-4a91-86c2-571467c10f3e"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzQtNC0xLTEtMA_b43a4412-fe7d-4c15-a8c9-fac7f0bbf3b4"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzUtMi0xLTEtMA_c1a60929-9101-43de-882f-24cf6e909518"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90YWJsZTplZGI0MjdmMjE5MzY0MzExODM0NTI2NWVmMDVhY2Y3Ni90YWJsZXJhbmdlOmVkYjQyN2YyMTkzNjQzMTE4MzQ1MjY1ZWYwNWFjZjc2XzUtNC0xLTEtMA_42581f68-08ec-4ced-bec9-2da5b8e8779f"
      unitRef="usdPerShare">153.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzY1OTcwNjk3OTIzMDQ_60c7ad48-7cdf-4711-9853-44a1d447e491">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNTE_2d87a75b-f388-4fce-b261-daadd30ab548"
      unitRef="usd">700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib7ee5461abdf4bedbe15c2460cf8b782_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNTU_8ff1719a-c20e-4331-9c41-bc0b5c099071"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifeb3fb87ab7a4cd1941bfb8991467ea9_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkxNjI_6a431f6b-2f90-4a12-9e69-826e71b1c94a"
      unitRef="usd">300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkyNDI_fec3e7a4-41ab-4bc8-a861-97c44a653476"
      unitRef="usd">500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i23d98b4f05bb4bca84eb98f630a8addd_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzkzMjk_420cc8a0-4b6f-41a1-bdcf-2a074c400044"
      unitRef="usd">400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ic8750d7d40ba425a884083a933e676c7_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNDUvZnJhZzoyNjAwN2Q3YWYwYjI0MGVlOTk1MzFmNmNiMjFlOGRjZS90ZXh0cmVnaW9uOjI2MDA3ZDdhZjBiMjQwZWU5OTUzMWY2Y2IyMWU4ZGNlXzk0MDI_6284d273-487d-44af-888c-9bddfaea26af">P0Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0Mzk_5674c5e3-27fa-4c4f-ab10-3eca7fbfed1d">Income Taxes&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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&#160;31, 2020, we recorded income tax expense of $38.4 million. The tax provision for the year ended December&#160;31, 2020 includes tax expense of $51.3&#160;million relating to the MyCase Transaction which includes $52.3&#160;million of current tax expense on the gain on the sale of MyCase, less a $1.0&#160;million benefit on the reversal of deferred tax liabilities relating to MyCase. For tax purposes, we plan to file an election to treat the transaction as a sale of assets. As such, the tax impact takes into consideration the tax basis of the assets on the date of sale and the availability of net operating losses and research and development tax credits. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to state income taxes and the benefits associated with stock-based compensation expense and research and development tax credits.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Set forth below is a reconciliation of the components that caused our provision for income taxes to differ from amounts computed by applying the United States federal statutory rate for the years ended December&#160;31, 2020, 2019, and 2018: &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;U.S. federal statutory income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#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;21&#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;21&#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;State and local 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;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(53)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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)&lt;/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;Stock-based compensation 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;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Meals and entertainment&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;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/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="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;Change 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;&#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;(475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/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="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 permanent differences&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;Research and development tax 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;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(64)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(9)&lt;/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;Provision for (benefit from) income taxes&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;20&#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;span style="color:#000000;font-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;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;(652)&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;span style="color:#000000;font-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;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;2&#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;span style="color:#000000;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;/table&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for (benefit from) income tax consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Current&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: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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal&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;3,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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="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;&#160;&#160;&#160;&#160;State and local&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,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;339&#160;&lt;/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 #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;9,426&#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 #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;(15)&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;339&#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: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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;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;27,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,761)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;65&#160;&lt;/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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local&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,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(12,683)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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&#160;&lt;/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 deferred&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;29,002&#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 #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;(31,444)&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 #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;81&#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;Total income tax provision (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,428&#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;(31,459)&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;420&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&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 (liabilities) were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&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="9" 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:8pt;font-weight:700;line-height:100%"&gt;December&#160;31,&lt;/span&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;/div&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:8pt;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: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="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 income tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align: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:left;vertical-align: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;Net operating loss carryforwards&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;4,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,525&#160;&lt;/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;Research and development tax 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;9,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;17,700&#160;&lt;/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;/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;Stock-based compensation&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,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,895&#160;&lt;/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 asset&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;9,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,291&#160;&lt;/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&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,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,692&#160;&lt;/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 tax assets&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,550&#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;53,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;vertical-align: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, equipment 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;(13,412)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,965)&lt;/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;Intangible 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;(2,693)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,767)&lt;/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;Capitalized commissions&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,708)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,492)&lt;/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;State 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;(2,350)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,563)&lt;/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 liability&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,064)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,152)&lt;/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&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;(751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,590)&lt;/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 tax liabilities&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;(29,978)&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;(25,529)&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 net deferred tax (liabilities) assets&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,428)&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;27,574&#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-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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, 2020, we had no federal net operating loss carryforwards. At December&#160;31, 2020, we had state net operating loss carryforwards of $46.5&#160;million, which will begin to expire in 2028. At December&#160;31, 2020, we also had federal and state research and development credit carryforwards of $4.1&#160;million and $11.5&#160;million, respectively. The federal credit carryforwards will begin to expire in 2040, while the state credit carryforwards apply indefinitely. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Internal Revenue Code of 1986, as amended (&#x201c;IRC&#x201d;), imposes substantial restrictions on the utilization of tax attributes in the event of an &#x201c;ownership change&#x201d; of a corporation. Accordingly, a company&#x2019;s ability to use pre-change tax attributes may be limited as prescribed under IRC Section 382. Events which may cause limitation in the amount of the tax attributes that we utilize in any one year include, but are not limited to, a cumulative ownership change of more than 50% over a rolling three-year period. We have undertaken an IRC Section 382 analysis and have determined that there are no limitations on the tax attributes at December&#160;31, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2019 and 2018, we recorded an income tax benefit of $31.5 million and income tax expense of $0.4 million. During the second quarter of 2019, we evaluated all available positive and negative evidence, including our sustained profitability in 2018 and 2019, the impact of recent acquisitions and future projections of profitability. As a result, we determined that all of our deferred tax assets were more likely than not to be realized and reversed the valuation allowance against those deferred tax assets accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the valuation allowance for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Valuation allowance, at beginning of year&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;23,002&#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;23,827&#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;Decrease in valuation allowance&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;(23,002)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(825)&lt;/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;Valuation allowance, at end of year&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;&#x2014;&#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;&#x2014;&#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;23,002&#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:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&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 is a reconciliation of the total amounts of reserves for unrecognized tax benefits from uncertain tax positions (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Unrecognized tax benefit beginning of year&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;4,421&#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,977&#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,105&#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;td colspan="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;Increases-tax positions in current year&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,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,141&#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;4,421&#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;2,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unrecognized tax benefits are recorded as a reduction to the deferred tax assets and liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020 and 2019, we had no accrued interest and penalties related to uncertain income tax positions. We do not anticipate that the amount of unrecognized tax benefits will significantly increase or decrease within the next twelve months. &lt;/span&gt;&lt;/div&gt;We are subject to taxation in the United States and various states. Due to the net operating loss carryforwards, our federal and state returns are open to examination by the Internal Revenue Service and state jurisdictions for all years since inception. We are not currently under audit by any taxing authorities.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5Xzgz_080dc778-95d8-4c3d-bbcb-781c6c0c3dfb"
      unitRef="usd">38400000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM4NzM_0f6c0e68-631b-4aef-8824-17cc77aba800"
      unitRef="usd">51300000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation
      contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM5MDI_ff06588a-74db-48d5-80cc-31f71b1abad0"
      unitRef="usd">52300000</us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="i70c9259d55f74d20951c3ce8ee22b950_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM4ODg_62942387-9c1b-4966-898e-fceec29ada59"
      unitRef="usd">1000000.0</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjI_08937dc9-b1b9-4ddc-bb63-810e62b03431">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Set forth below is a reconciliation of the components that caused our provision for income taxes to differ from amounts computed by applying the United States federal statutory rate for the years ended December&#160;31, 2020, 2019, and 2018: &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;U.S. federal statutory income tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#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;21&#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;21&#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;State and local 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;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(53)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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)&lt;/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;Stock-based compensation 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;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Meals and entertainment&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;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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&#160;&lt;/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="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;Change 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;&#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;(475)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/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="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 permanent differences&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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;Research and development tax 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;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(64)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(9)&lt;/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;Provision for (benefit from) income taxes&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;20&#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;span style="color:#000000;font-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;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;(652)&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;span style="color:#000000;font-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;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;2&#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;span style="color:#000000;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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItMS0xLTEtMA_c5bf471a-a7c0-455a-b31f-d042c7607442"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItMy0xLTEtMA_57dce016-a6ee-4b96-8c98-1bc475b856e5"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzItNS0xLTEtMA_b49e6f0d-5b35-4bf1-9db9-4d016056a75d"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtMS0xLTEtMA_85875ac6-fe62-4aec-8b06-70e293534d2a"
      unitRef="number">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtMy0xLTEtMA_edea3a3e-43bb-4674-81b4-90680616a7b7"
      unitRef="number">-0.53</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzMtNS0xLTEtMA_549646f0-1154-46f6-9357-3c86a44b2290"
      unitRef="number">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtMS0xLTEtMA_f54760d7-ff9f-4f39-8a40-4e91c3a9bbac"
      unitRef="number">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtMy0xLTEtMA_d4a32430-6111-459f-8231-bb696baf978e"
      unitRef="number">0.88</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzQtNS0xLTEtMA_bde1c01e-c2a8-4eb9-ae17-a39f3ef39a75"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtMS0xLTEtMA_ed130793-baf1-4915-ad18-938d46927383"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtMy0xLTEtMA_d490b279-4ab5-4af9-9744-4fbca00a982a"
      unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzUtNS0xLTEtMA_fb2a0631-c803-4719-90f1-5772e30078c2"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctMS0xLTEtMA_5f770e4e-e158-47b9-a09d-0ac072f07127"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctMy0xLTEtMA_6396dc1e-d2a2-4ce9-92b7-1557649f0519"
      unitRef="number">-4.75</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzctNS0xLTEtMA_b262b8d0-bfbd-4010-b01d-24187fbdaa11"
      unitRef="number">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMS0xLTEtNDMwMg_feb7771c-8f90-4db3-9e5b-9278d48fecff"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMy0xLTEtNDMwMg_78ac5955-54e9-4bec-b864-f023369074c8"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktNS0xLTEtNDMwMg_bb3a2d06-7d1f-4d57-be43-86c1b60641a2"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMS0xLTEtMA_c85ca1fa-1100-4ee0-a4a8-95625542b748"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktMy0xLTEtMA_7042eb68-023e-42f9-9fc6-df767f29a0ea"
      unitRef="number">0.64</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzktNS0xLTEtMA_d9b098aa-f910-48f1-8b6a-bfb27513467a"
      unitRef="number">0.09</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTEtMS0xLTA_ab62fd10-39f4-44b5-ae13-6e2a039306ba"
      unitRef="number">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTMtMS0xLTA_7d9831a5-5e9e-4b7c-ad65-b263f412a84b"
      unitRef="number">-6.52</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpiMDBlZGE3NjE5OWI0N2JjYTNhNjg0NTI0ODZmNWI5OC90YWJsZXJhbmdlOmIwMGVkYTc2MTk5YjQ3YmNhM2E2ODQ1MjQ4NmY1Yjk4XzEwLTUtMS0xLTA_605dbe50-f228-4290-a54e-1f7f5cbe1aa3"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjM_da788b17-1f08-48ec-85db-51b74a62edf1">&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for (benefit from) income tax consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Current&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: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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal&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;3,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;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="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;&#160;&#160;&#160;&#160;State and local&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,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;339&#160;&lt;/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 #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;9,426&#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 #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;(15)&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;339&#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: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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;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;27,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,761)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;65&#160;&lt;/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;&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local&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,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(12,683)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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&#160;&lt;/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 deferred&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;29,002&#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 #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;(31,444)&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 #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;81&#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;Total income tax provision (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,428&#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;(31,459)&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;420&#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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtMS0xLTEtMA_005eba68-5d95-4432-8ced-70af1ed182d6"
      unitRef="usd">3982000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtMy0xLTEtMA_6e10ba0f-fc84-4724-bb02-f8c0f856ac08"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzMtNS0xLTEtMA_c6ec8ebc-bed9-4452-8c70-b41dffc5325d"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtMS0xLTEtMA_3dd4d105-5e48-4a12-ae50-e71ccc260a0d"
      unitRef="usd">5444000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtMy0xLTEtMA_a99f838d-8d8b-47cf-91fd-a95d75b7599a"
      unitRef="usd">-15000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzQtNS0xLTEtMA_6dd369a1-a32b-4a79-b3ae-ee59f5c8fd29"
      unitRef="usd">339000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtMS0xLTEtMA_f1ea0e54-e459-4298-857f-4c26122fe519"
      unitRef="usd">9426000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtMy0xLTEtMA_3a36220b-7a9c-42be-aaba-911f717df1ca"
      unitRef="usd">-15000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzUtNS0xLTEtMA_eee42fab-cd5c-40f9-a7eb-fc6c773be145"
      unitRef="usd">339000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctMS0xLTEtMA_314cc217-fc2b-4d81-9315-28b1369c6d05"
      unitRef="usd">27982000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctMy0xLTEtMA_5d703acd-6579-4556-b970-71a5e24a23ba"
      unitRef="usd">-18761000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzctNS0xLTEtMA_85f9a83e-c413-4b83-b936-9705a1a865ae"
      unitRef="usd">65000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtMS0xLTEtMA_dcb40606-de7e-47ef-aa15-75ad43adae77"
      unitRef="usd">1020000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtMy0xLTEtMA_82102891-37ed-453f-9695-500f101482c1"
      unitRef="usd">-12683000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzgtNS0xLTEtMA_b530f4f8-bd09-4dc9-98a6-f6e6778b8965"
      unitRef="usd">16000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktMS0xLTEtMA_34f9253c-14e6-4fa5-9009-1d6fbb108a97"
      unitRef="usd">29002000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktMy0xLTEtMA_8d7b6680-8ac9-499c-b94b-0c65489cdb6f"
      unitRef="usd">-31444000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzktNS0xLTEtMA_289309a5-c427-476a-b6d5-6c8bf44fec5c"
      unitRef="usd">81000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTEtMS0xLTA_1d6eb9ba-5ef8-4a1e-ae28-c997d14364e4"
      unitRef="usd">38428000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTMtMS0xLTA_02cdcb6c-cb7f-4bcb-a149-1b21df4473a3"
      unitRef="usd">-31459000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTo3MWFjNzRiM2M2MmE0YmUxOGY3Yzc1MWYxYjdiNDY5OC90YWJsZXJhbmdlOjcxYWM3NGIzYzYyYTRiZTE4ZjdjNzUxZjFiN2I0Njk4XzEwLTUtMS0xLTA_28197fd9-e78f-4942-9c39-124037ab8528"
      unitRef="usd">420000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NjQ_5d85758f-4733-4944-82c9-1ed2943ebfb3">&lt;div style="text-align:justify;text-indent:36pt"&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 (liabilities) were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&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="9" 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:8pt;font-weight:700;line-height:100%"&gt;December&#160;31,&lt;/span&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;/div&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:8pt;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: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="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 income tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align: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:left;vertical-align: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;Net operating loss carryforwards&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;4,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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,525&#160;&lt;/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;Research and development tax 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;9,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;17,700&#160;&lt;/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;/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;Stock-based compensation&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,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,895&#160;&lt;/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 asset&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;9,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,291&#160;&lt;/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&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,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,692&#160;&lt;/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 tax assets&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,550&#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;53,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;vertical-align: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, equipment 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;(13,412)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,965)&lt;/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;Intangible 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;(2,693)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,767)&lt;/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;Capitalized commissions&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,708)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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,492)&lt;/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;State 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;(2,350)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,563)&lt;/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 liability&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,064)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,152)&lt;/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&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;(751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,590)&lt;/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 tax liabilities&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;(29,978)&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;(25,529)&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 net deferred tax (liabilities) assets&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,428)&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;27,574&#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:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzMtMS0xLTEtMA_57df6477-832e-4ea4-9c97-a028d6338a90"
      unitRef="usd">4112000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzMtMy0xLTEtMA_3f10ee7f-4e44-4a13-93ae-55a1e6fd4135"
      unitRef="usd">22525000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzQtMS0xLTEtMA_42bd2619-d4f3-4605-905d-9a361ca4be60"
      unitRef="usd">9467000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzQtMy0xLTEtMA_523a2029-a573-4f0f-9b28-6feaeb4dbf56"
      unitRef="usd">17700000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzYtMS0xLTEtMA_21028499-f4eb-42dd-8971-a3deba7010e8"
      unitRef="usd">2783000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzYtMy0xLTEtMA_ba9db0ac-1bea-4c13-98d3-782c61f760d0"
      unitRef="usd">2895000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <appf:DeferredTaxAssetsLeasingArrangements
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzctMS0xLTEtMA_357e699e-30e8-4a6d-803b-d8fb9c61ec30"
      unitRef="usd">9992000</appf:DeferredTaxAssetsLeasingArrangements>
    <appf:DeferredTaxAssetsLeasingArrangements
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzctMy0xLTEtMA_d72ca4f0-1c40-4daf-8f6a-383d2360f6e3"
      unitRef="usd">8291000</appf:DeferredTaxAssetsLeasingArrangements>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzgtMS0xLTEtMA_ca8b5a3e-7110-4fb0-947d-42634ccd4701"
      unitRef="usd">2196000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzgtMy0xLTEtMA_d6399f88-f841-4b45-99d1-0c6acdca3ed8"
      unitRef="usd">1692000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzktMS0xLTEtMA_cff9bd84-e39e-470e-815c-40b840246241"
      unitRef="usd">28550000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzktMy0xLTEtMA_945da62d-e3c3-4c66-ba54-509f5cf13c11"
      unitRef="usd">53103000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzEzLTEtMS0xLTA_d5a252af-c631-4825-8bf8-196a90ffe6b3"
      unitRef="usd">13412000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzEzLTMtMS0xLTA_4b70e748-916f-45c1-9212-435128ef0cac"
      unitRef="usd">7965000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE0LTEtMS0xLTA_3acd0fc4-ec85-4b8c-8578-5b8a755900e9"
      unitRef="usd">2693000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE0LTMtMS0xLTA_a2866ab8-d433-4d4e-9b20-1e324bd0c0f5"
      unitRef="usd">3767000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <appf:DeferredTaxLiabilitiesCapitalizedCommissions
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE1LTEtMS0xLTA_18c6e76a-4109-49a0-b14a-4ead25570cbc"
      unitRef="usd">2708000</appf:DeferredTaxLiabilitiesCapitalizedCommissions>
    <appf:DeferredTaxLiabilitiesCapitalizedCommissions
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE1LTMtMS0xLTA_9dec934b-f4b2-46dc-bfc0-7deff9e28a0e"
      unitRef="usd">2492000</appf:DeferredTaxLiabilitiesCapitalizedCommissions>
    <appf:DeferredTaxLiabilitiesStateTaxes
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE2LTEtMS0xLTA_f771b076-3934-4bd3-bc7b-884fbbe4de8b"
      unitRef="usd">2350000</appf:DeferredTaxLiabilitiesStateTaxes>
    <appf:DeferredTaxLiabilitiesStateTaxes
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE2LTMtMS0xLTA_072756a7-bfd9-45d3-acbe-a1305e30a8ef"
      unitRef="usd">2563000</appf:DeferredTaxLiabilitiesStateTaxes>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE3LTEtMS0xLTA_db1804e4-86ea-4b87-9fdb-9d644299fbd2"
      unitRef="usd">8064000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE3LTMtMS0xLTA_b697cefc-1eb0-42fc-a80e-7a96aa4632f0"
      unitRef="usd">7152000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE4LTEtMS0xLTA_23b7dfb3-7ae1-4f89-a402-862cc0653acf"
      unitRef="usd">751000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE4LTMtMS0xLTA_7d786d69-684f-4351-9a8c-0621ac955807"
      unitRef="usd">1590000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE5LTEtMS0xLTA_9ef976dc-cf04-45fc-b2c5-4b01653fbe44"
      unitRef="usd">29978000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzE5LTMtMS0xLTA_38f55f98-d7dd-4ec8-84b5-801f36a092ab"
      unitRef="usd">25529000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzIwLTEtMS0xLTA_e8f581b9-b3a4-487a-b1a2-c50aec0d237c"
      unitRef="usd">1428000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTowNTM0MTU2YzUyYzc0NTJiYjgyNTk2MDBjMmJmZjcxZi90YWJsZXJhbmdlOjA1MzQxNTZjNTJjNzQ1MmJiODI1OTYwMGMyYmZmNzFmXzIwLTMtMS0xLTA_88d25712-341e-42f0-9194-50afee8f95b8"
      unitRef="usd">27574000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:OperatingLossCarryforwards
      contextRef="if0c6336a8b284bd7b3c58ea15b32829c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzY1OTcwNjk3ODM5MTc_19c62736-4b19-4720-84e1-3faea4c5f0a7"
      unitRef="usd">0</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="ifbb35241961348a7906632a948d86917_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODIzNjk_95b496c2-2a82-4b41-92d7-45364c05885c"
      unitRef="usd">46500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i01390a6a12cd445db158cda4169a39a6_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODI1NzI_456b6eb6-f348-4a7f-b24f-89810f38b624"
      unitRef="usd">4100000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="ifbb35241961348a7906632a948d86917_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI3NDg3NzkwODI1ODY_9a19fe68-4a59-46ff-8898-75beda34add7"
      unitRef="usd">11500000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzEwOTk1MTE2NDUxNTU_f735a9fe-96c3-44b2-bc3e-2a2f3831f259"
      unitRef="usd">-31500000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzEwOTk1MTE2NDUxNjI_bb0922bd-e960-4039-b37c-4b735e9e8ac8"
      unitRef="usd">400000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NTE_9add5062-8687-4d7e-9191-d2c9b75c9cc1">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the valuation allowance for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Valuation allowance, at beginning of year&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;&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;23,002&#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;23,827&#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;Decrease in valuation allowance&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;(23,002)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;(825)&lt;/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;Valuation allowance, at end of year&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;&#x2014;&#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;&#x2014;&#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;23,002&#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:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItMS0xLTEtMA_8f401986-51ea-42fd-b400-1eed6bff923e"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItMy0xLTEtMA_6b72b113-1a52-4d23-9c9c-448d86f7a962"
      unitRef="usd">23002000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzItNS0xLTEtMA_6a050a07-8858-46bf-88cc-50da7558530a"
      unitRef="usd">23827000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtMS0xLTEtMA_7a12fce8-4a06-43b2-9dc4-cb97488298b8"
      unitRef="usd">0</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtMy0xLTEtMA_5652a666-4874-4d32-a601-e2ef1cdc3b5f"
      unitRef="usd">-23002000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzMtNS0xLTEtMA_9329bc6d-8026-4050-93f8-ff9bb15b9e3f"
      unitRef="usd">-825000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtMS0xLTEtMA_020641c2-bb4a-4dc1-8252-1bd71d65df22"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtMy0xLTEtMA_2c55539e-d550-4b4f-adfa-6626ee9517e9"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTpjNDM3NTQ2ZjA0Y2Y0MDhlOWViMWJlZWZmMGE4NWUwNi90YWJsZXJhbmdlOmM0Mzc1NDZmMDRjZjQwOGU5ZWIxYmVlZmYwYTg1ZTA2XzQtNS0xLTEtMA_a616a747-9dd7-4004-85ec-65f1fd127f2b"
      unitRef="usd">23002000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzM0NTI_f8d57355-bd3a-4d48-bddd-f1df12cc20d3">&lt;div style="text-align:justify;text-indent:36pt"&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 is a reconciliation of the total amounts of reserves for unrecognized tax benefits from uncertain tax positions (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;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: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:8pt;font-weight:700;line-height:100%"&gt;Year&#160;Ended&#160;December&#160;31,&lt;/span&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;/div&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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2019&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;2018&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;Unrecognized tax benefit beginning of year&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;4,421&#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,977&#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,105&#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;td colspan="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;Increases-tax positions in current year&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,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,141&#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;4,421&#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;2,977&#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:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItMS0xLTEtMA_07963418-18c5-46a1-8158-45b903fa09d6"
      unitRef="usd">4421000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItMy0xLTEtMA_652b6e76-abbb-45cc-909e-450d7fd88fcf"
      unitRef="usd">2977000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i33fd34f1e8d1430f80df86809474ca2c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzItNS0xLTEtMA_b92a10b4-bdb5-4647-b8a8-946a55437bb7"
      unitRef="usd">2105000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtMS0xLTEtMA_748ba40c-12b4-4b9e-86a0-40a3c01d9eb3"
      unitRef="usd">1720000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtMy0xLTEtMA_bfcd0b12-7710-4296-8a0a-eab884009860"
      unitRef="usd">1444000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzQtNS0xLTEtMA_f1f52bce-07e0-4521-a8ff-cfc27a3f8dcd"
      unitRef="usd">872000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtMS0xLTEtMA_4839404b-3f6e-41ac-b53d-8b419579ec87"
      unitRef="usd">6141000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtMy0xLTEtMA_53de516a-b3b8-4588-ad6d-a43449e1ffb3"
      unitRef="usd">4421000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i02d63145a04b47a48a5a20bb6671ce00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90YWJsZTozZDgwZWE3Nzk4MmY0YjZhYWQxNzNlZTgxYzNkNzRiYS90YWJsZXJhbmdlOjNkODBlYTc3OTgyZjRiNmFhZDE3M2VlODFjM2Q3NGJhXzUtNS0xLTEtMA_f7d019d4-ab69-4f24-8d5b-2c57c1c85094"
      unitRef="usd">2977000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="if87112ed58d44be294bd33c5ebbf224d_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI5MTA_44217ec6-d389-4daf-a0b5-e3dfcfabfb79"
      unitRef="usd">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="ie6b462932c454ef1af9e87a9f2fb7348_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTEvZnJhZzozZTU1OTgwNGRlNTc0ODRjYTM4YWI4MjRhZjE1ZTUwOS90ZXh0cmVnaW9uOjNlNTU5ODA0ZGU1NzQ4NGNhMzhhYjgyNGFmMTVlNTA5XzI5MTA_bfa6723c-7818-4c98-a108-dadeda554c78"
      unitRef="usd">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90ZXh0cmVnaW9uOjQwODNhYjgxOGVkNjRjZGQ4N2QwOTcxZjcxOGU4MWE5XzI3Nw_4817b631-c5c1-4785-a06f-f59b31a85e12">Revenue and Other Information&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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 our revenue categories for the years ended December&#160;31, 2020, 2019 and 2018 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.269%"/&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.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.046%"/&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: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:2px 1pt;text-align:left;vertical-align: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: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 #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;2019&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;2018&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;Core solutions&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;100,938&#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;88,581&#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;70,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&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;195,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;153,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,072&#160;&lt;/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;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;13,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-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;13,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;td colspan="3" style="background-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,450&#160;&lt;/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;Total revenue&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;310,056&#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;256,012&#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;190,071&#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-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our revenue is generated primarily from United States customers. All of our property and equipment is located in the United States.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfProductInformationTableTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90ZXh0cmVnaW9uOjQwODNhYjgxOGVkNjRjZGQ4N2QwOTcxZjcxOGU4MWE5XzI3NQ_10e876c0-2d36-4650-9426-e3223ee20caa">&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&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 our revenue categories for the years ended December&#160;31, 2020, 2019 and 2018 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.269%"/&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.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.046%"/&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: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:2px 1pt;text-align:left;vertical-align: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: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 #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;2019&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;2018&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;Core solutions&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;100,938&#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;88,581&#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;70,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&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;195,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;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;153,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,072&#160;&lt;/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;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;13,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-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;13,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;td colspan="3" style="background-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,450&#160;&lt;/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;Total revenue&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;310,056&#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;256,012&#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;190,071&#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:ScheduleOfProductInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i49f21b866a974cb5af0d88082667c437_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItMi0xLTEtMA_e10d6762-99db-48ca-9c6e-9c3ac923d294"
      unitRef="usd">100938000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i155f8f7267774e7b8044097d9d108b30_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItNC0xLTEtMA_8081a24d-8a79-402f-b1fe-dd9fc68e2353"
      unitRef="usd">88581000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id161bac78060432b9f1bbad8354f0fb4_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzItNi0xLTEtMA_fd3fc6ca-b213-476f-9e04-27582da6b1ad"
      unitRef="usd">70549000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3f25746ecdf4470094faade647b145f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtMi0xLTEtMA_fea8e9b7-75f4-4a64-8190-c8ef4c3a2adc"
      unitRef="usd">195146000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3851c5bdd1e4f21ac815c345ef884a4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtNC0xLTEtMA_578fe5be-5611-4cc6-992c-6f023df43239"
      unitRef="usd">153994000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6ab43607928b4eb6bcf22addd709f5ed_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzMtNi0xLTEtMA_141b5725-fe09-4b76-a592-e3d6cf62d907"
      unitRef="usd">113072000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7f3b18600ba9494fa92c6810bc520195_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtMi0xLTEtMA_3e31eccf-0f14-4b3c-9287-47c47228280c"
      unitRef="usd">13972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i85640fb3a94a495c8f1c47eee8c9965e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtNC0xLTEtMA_0b7d558f-dda3-41ee-9efc-32d10da5b638"
      unitRef="usd">13437000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8254a32400ed4a55a4959493198ce754_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzQtNi0xLTEtMA_939067b8-fe23-43c1-997d-54b8265543f5"
      unitRef="usd">6450000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtMi0xLTEtMA_321f5d30-8579-4f78-b0dc-4b77d023df57"
      unitRef="usd">310056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtNC0xLTEtMA_d7cf15ae-7521-482b-8d54-ac1891ca1416"
      unitRef="usd">256012000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNTcvZnJhZzo0MDgzYWI4MThlZDY0Y2RkODdkMDk3MWY3MThlODFhOS90YWJsZTo0NzM4NmQ1Y2UzODM0YzQwOTcwYmVhMzQ2ZjgyZTE3ZS90YWJsZXJhbmdlOjQ3Mzg2ZDVjZTM4MzRjNDA5NzBiZWEzNDZmODJlMTdlXzUtNi0xLTEtMA_ac0e5b1a-3885-47c6-a1dd-1ea7a9a74382"
      unitRef="usd">190071000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzM5NA_019e5981-05e5-485b-84ac-a984710e67ba">Retirement Plans We have a 401(k) retirement and savings plan made available to all employees. The 401(k) plan allows each participant to contribute up to an amount not to exceed an annual statutory maximum. We may, at our discretion, make matching contributions to the 401(k) plan. Cash contributions to the plan were $3.2&#160;million, $2.5 million, and $1.6 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzI3NDg3NzkwNjk4NzA_d72b5ead-ed92-401f-ba29-cad0f51ac0c1"
      unitRef="usd">3200000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzMzMA_486e33a7-de03-4136-9187-960754f9982f"
      unitRef="usd">2500000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i849de4110fc04e2c97f7aa6d77980eeb_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xNjAvZnJhZzphY2M2MzNjOWQ1MDY0YWI4OWExY2FkMTljYTQ2YmNhZi90ZXh0cmVnaW9uOmFjYzYzM2M5ZDUwNjRhYjg5YTFjYWQxOWNhNDZiY2FmXzMzNA_78765e1b-3bb0-4179-899a-fcab9498aeb9"
      unitRef="usd">1600000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378803368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Feb. 15, 2021</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-37468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">AppFolio, Inc.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">26-0359894<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">50 Castilian Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Santa Barbara,<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">93117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">364-6093<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of each class</a></td>
<td class="text">Class A common stock, par value $0.0001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">APPF<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text">Portions of the registrant&#8217;s definitive Proxy Statement for the 2021 Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;), to be filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) pursuant to Regulation 14A not later than 120 days after the end of the fiscal year covered by this Annual Report on Form&#160;10-K (this &#8220;Annual Report&#8221;), are incorporated by reference in Part&#160;III, Items 10-14 of this Annual Report. Except for the portions of the Proxy Statement specifically incorporated by reference in this Annual Report, the Proxy Statement shall not be deemed to be filed as part hereof.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001433195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,747,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,650,311<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378574888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 140,263<span></span>
</td>
<td class="nump">$ 15,813<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Investment securities&#8212;current</a></td>
<td class="nump">28,256<span></span>
</td>
<td class="nump">22,876<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">10,057<span></span>
</td>
<td class="nump">7,562<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">20,777<span></span>
</td>
<td class="nump">15,540<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">199,353<span></span>
</td>
<td class="nump">61,791<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Investment securities&#8212;noncurrent</a></td>
<td class="nump">6,770<span></span>
</td>
<td class="nump">12,089<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">26,439<span></span>
</td>
<td class="nump">14,744<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">30,561<span></span>
</td>
<td class="nump">27,803<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">35,459<span></span>
</td>
<td class="nump">30,023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">56,147<span></span>
</td>
<td class="nump">58,425<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">16,357<span></span>
</td>
<td class="nump">21,377<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred taxes</a></td>
<td class="nump">12,181<span></span>
</td>
<td class="nump">27,574<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">6,213<span></span>
</td>
<td class="nump">6,276<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">389,480<span></span>
</td>
<td class="nump">260,102<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,040<span></span>
</td>
<td class="nump">1,927<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee expenses</a></td>
<td class="nump">18,888<span></span>
</td>
<td class="nump">17,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">14,069<span></span>
</td>
<td class="nump">10,833<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">2,262<span></span>
</td>
<td class="nump">4,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income tax payable</a></td>
<td class="nump">9,095<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">4,451<span></span>
</td>
<td class="nump">11,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Term loan, net&#8212;current portion</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,208<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">49,805<span></span>
</td>
<td class="nump">47,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">40,146<span></span>
</td>
<td class="nump">33,312<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SecuredLongTermDebt', window );">Term loan, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">47,375<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred taxes</a></td>
<td class="nump">13,609<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">103,560<span></span>
</td>
<td class="nump">128,152<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 11)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of December&#160;31, 2020 and December&#160;31, 2019</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">161,247<span></span>
</td>
<td class="nump">161,509<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income</a></td>
<td class="nump">56<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost, 419 and 371 shares of Class A common stock as of December&#160;31, 2020 and December&#160;31, 2019, respectively</a></td>
<td class="num">(25,756)<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="nump">150,369<span></span>
</td>
<td class="num">(8,034)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">285,920<span></span>
</td>
<td class="nump">131,950<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 389,480<span></span>
</td>
<td class="nump">$ 260,102<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock (in shares)</a></td>
<td class="nump">419,000<span></span>
</td>
<td class="nump">371,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">19,148,000<span></span>
</td>
<td class="nump">16,923,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">18,729,000<span></span>
</td>
<td class="nump">16,552,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">15,659,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">15,659,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121593590&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556615&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559654&amp;loc=d3e5710-111685<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647459409960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jun. 25, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock (in shares)</a></td>
<td class="nump">419,000<span></span>
</td>
<td class="nump">371,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">19,148,000<span></span>
</td>
<td class="nump">16,923,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">18,729,000<span></span>
</td>
<td class="nump">16,552,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">15,659,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">15,659,000<span></span>
</td>
<td class="nump">17,594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379177448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 310,056<span></span>
</td>
<td class="nump">$ 256,012<span></span>
</td>
<td class="nump">$ 190,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Costs and operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue (exclusive of depreciation and amortization)</a></td>
<td class="nump">119,029<span></span>
</td>
<td class="nump">101,642<span></span>
</td>
<td class="nump">73,549<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">58,445<span></span>
</td>
<td class="nump">51,528<span></span>
</td>
<td class="nump">33,288<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and product development</a></td>
<td class="nump">48,529<span></span>
</td>
<td class="nump">39,508<span></span>
</td>
<td class="nump">24,111<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">47,480<span></span>
</td>
<td class="nump">34,478<span></span>
</td>
<td class="nump">24,891<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">26,790<span></span>
</td>
<td class="nump">22,395<span></span>
</td>
<td class="nump">14,576<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total costs and operating expenses</a></td>
<td class="nump">300,273<span></span>
</td>
<td class="nump">249,551<span></span>
</td>
<td class="nump">170,415<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">9,783<span></span>
</td>
<td class="nump">6,461<span></span>
</td>
<td class="nump">19,656<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="nump">188,897<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="num">(56)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest (expense) income, net</a></td>
<td class="num">(1,849)<span></span>
</td>
<td class="num">(1,654)<span></span>
</td>
<td class="nump">787<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for (benefit from) income taxes</a></td>
<td class="nump">196,831<span></span>
</td>
<td class="nump">4,823<span></span>
</td>
<td class="nump">20,387<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for (benefit from) income taxes</a></td>
<td class="nump">38,428<span></span>
</td>
<td class="num">(31,459)<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 158,403<span></span>
</td>
<td class="nump">$ 36,282<span></span>
</td>
<td class="nump">$ 19,967<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in usd per share)</a></td>
<td class="nump">$ 4.62<span></span>
</td>
<td class="nump">$ 1.07<span></span>
</td>
<td class="nump">$ 0.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in usd per share)</a></td>
<td class="nump">$ 4.44<span></span>
</td>
<td class="nump">$ 1.02<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">34,264<span></span>
</td>
<td class="nump">34,016<span></span>
</td>
<td class="nump">34,128<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">35,713<span></span>
</td>
<td class="nump">35,567<span></span>
</td>
<td class="nump">35,562<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120380238&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1337-109256<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647469865176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income (Loss) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 158,403<span></span>
</td>
<td class="nump">$ 36,282<span></span>
</td>
<td class="nump">$ 19,967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Changes in unrealized gains on investment securities</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">211<span></span>
</td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 158,426<span></span>
</td>
<td class="nump">$ 36,493<span></span>
</td>
<td class="nump">$ 19,998<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378446344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity (Deficit) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Cumulative effect, period of adoption, adjustment</div></th>
<th class="th">
<div>Common Stock </div>
<div>Class A common stock</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Class B common stock</div>
</th>
<th class="th"><div>Additional paid-in capital</div></th>
<th class="th"><div>Accumulated other comprehensive income (loss)</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Retained Earnings/Accumulated Deficit</div></th>
<th class="th">
<div>Retained Earnings/Accumulated Deficit </div>
<div>Cumulative effect, period of adoption, adjustment</div>
</th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,879<span></span>
</td>
<td class="nump">19,102<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2017</a></td>
<td class="nump">$ 85,079<span></span>
</td>
<td class="nump">$ 2,964<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">$ 152,531<span></span>
</td>
<td class="num">$ (209)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (67,247)<span></span>
</td>
<td class="nump">$ 2,964<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">1,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">7,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">113<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(2,890)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,890)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions', window );">Vesting of early exercised shares</a></td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">993<span></span>
</td>
<td class="num">(993)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion of Class B stock to Class A stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock awards</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Other comprehensive income</a></td>
<td class="nump">31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(371)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">$ (21,562)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingStandardsUpdateExtensibleList', window );">Accounting Standards Update [Extensible List]</a></td>
<td class="text">us-gaap:AccountingStandardsUpdate201409Member<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 19,967<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,967<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,789<span></span>
</td>
<td class="nump">18,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2018</a></td>
<td class="nump">91,846<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">157,898<span></span>
</td>
<td class="num">(178)<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
<td class="num">(44,316)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">120<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">553<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">8,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(5,933)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,933)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions', window );">Vesting of early exercised shares</a></td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">515<span></span>
</td>
<td class="num">(515)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion of Class B stock to Class A stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock awards</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Other comprehensive income</a></td>
<td class="nump">211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">36,282<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,282<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,552<span></span>
</td>
<td class="nump">17,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2019</a></td>
<td class="nump">$ 131,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">161,509<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
<td class="num">(8,034)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="nump">119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options</a></td>
<td class="nump">$ 822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">11,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings', window );">Vesting of restricted stock units, net of shares withheld for taxes</a></td>
<td class="num">(12,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of Class B stock to Class A stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,948<span></span>
</td>
<td class="num">(1,948)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion of Class B stock to Class A stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock awards</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Other comprehensive income</a></td>
<td class="nump">23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(48)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(4,194)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,194)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">158,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,729<span></span>
</td>
<td class="nump">15,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2020</a></td>
<td class="nump">$ 285,920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 161,247<span></span>
</td>
<td class="nump">$ 56<span></span>
</td>
<td class="num">$ (25,756)<span></span>
</td>
<td class="nump">$ 150,369<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingStandardsUpdateExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates amendment to accounting standards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 24: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121646688&amp;loc=SL121648383-210437<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingStandardsUpdateExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>srt-types:extensibleListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) to additional paid-in capital (APIC) for recognition and exercise of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=120383193&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=120383193&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121326096&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockAmountConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockAmountConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockSharesConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockSharesConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380338456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 158,403<span></span>
</td>
<td class="nump">$ 36,282<span></span>
</td>
<td class="nump">$ 19,967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts', window );">Depreciation and amortization</a></td>
<td class="nump">26,790<span></span>
</td>
<td class="nump">22,395<span></span>
</td>
<td class="nump">14,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_AmortizationOfOperatingLeaseRightOfUseAssets', window );">Amortization of operating lease right-of-use assets</a></td>
<td class="nump">3,701<span></span>
</td>
<td class="nump">4,130<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="nump">29,002<span></span>
</td>
<td class="num">(31,455)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">9,025<span></span>
</td>
<td class="nump">7,309<span></span>
</td>
<td class="nump">6,337<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfBusiness', window );">Gain on sale of business</a></td>
<td class="num">(187,658)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other</a></td>
<td class="nump">125<span></span>
</td>
<td class="nump">32<span></span>
</td>
<td class="nump">224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(2,782)<span></span>
</td>
<td class="num">(2,031)<span></span>
</td>
<td class="num">(908)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(5,894)<span></span>
</td>
<td class="num">(4,031)<span></span>
</td>
<td class="num">(6,073)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(519)<span></span>
</td>
<td class="nump">1,376<span></span>
</td>
<td class="num">(4,447)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(903)<span></span>
</td>
<td class="nump">511<span></span>
</td>
<td class="nump">614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued employee expenses</a></td>
<td class="nump">2,799<span></span>
</td>
<td class="nump">4,542<span></span>
</td>
<td class="nump">1,219<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">6,878<span></span>
</td>
<td class="nump">55<span></span>
</td>
<td class="nump">3,281<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">530<span></span>
</td>
<td class="nump">1,193<span></span>
</td>
<td class="num">(4,589)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_IncreaseDecreaseInOperatingLeases', window );">Operating lease liabilities</a></td>
<td class="num">(564)<span></span>
</td>
<td class="num">(2,662)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">9,366<span></span>
</td>
<td class="nump">1,241<span></span>
</td>
<td class="nump">6,067<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">48,299<span></span>
</td>
<td class="nump">38,887<span></span>
</td>
<td class="nump">36,268<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt', window );">Purchases of available-for-sale investments</a></td>
<td class="num">(43,877)<span></span>
</td>
<td class="num">(25,198)<span></span>
</td>
<td class="num">(29,516)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Proceeds from sales of available-for-sale investments</a></td>
<td class="nump">16,711<span></span>
</td>
<td class="nump">2,750<span></span>
</td>
<td class="nump">20,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Proceeds from maturities of available-for-sale investments</a></td>
<td class="nump">27,330<span></span>
</td>
<td class="nump">15,660<span></span>
</td>
<td class="nump">32,819<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, equipment and intangible assets</a></td>
<td class="num">(19,038)<span></span>
</td>
<td class="num">(8,084)<span></span>
</td>
<td class="num">(2,102)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToDevelopSoftware', window );">Capitalization of software development costs</a></td>
<td class="num">(26,042)<span></span>
</td>
<td class="num">(20,998)<span></span>
</td>
<td class="num">(12,304)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash paid in business acquisition, net of cash acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(54,004)<span></span>
</td>
<td class="num">(14,441)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested', window );">Proceeds from sale of business, net of cash divested</a></td>
<td class="nump">191,427<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">146,511<span></span>
</td>
<td class="num">(89,874)<span></span>
</td>
<td class="num">(4,644)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from stock option exercises</a></td>
<td class="nump">822<span></span>
</td>
<td class="nump">553<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholding for net share settlement</a></td>
<td class="num">(12,196)<span></span>
</td>
<td class="num">(6,155)<span></span>
</td>
<td class="num">(3,127)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="num">(5,977)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSecuredDebt', window );">Proceeds from issuance of debt</a></td>
<td class="nump">50,752<span></span>
</td>
<td class="nump">2,169<span></span>
</td>
<td class="nump">50,138<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfSecuredDebt', window );">Principal payments on debt</a></td>
<td class="num">(99,565)<span></span>
</td>
<td class="num">(3,419)<span></span>
</td>
<td class="num">(138)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(420)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Purchase of treasury stock</a></td>
<td class="num">(4,194)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(21,562)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(70,358)<span></span>
</td>
<td class="num">(7,272)<span></span>
</td>
<td class="nump">26,346<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">124,452<span></span>
</td>
<td class="num">(58,259)<span></span>
</td>
<td class="nump">57,970<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash, cash equivalents and restricted cash</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Beginning of period</a></td>
<td class="nump">16,247<span></span>
</td>
<td class="nump">74,506<span></span>
</td>
<td class="nump">16,536<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">End of period</a></td>
<td class="nump">140,699<span></span>
</td>
<td class="nump">16,247<span></span>
</td>
<td class="nump">74,506<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">1,815<span></span>
</td>
<td class="nump">2,169<span></span>
</td>
<td class="nump">118<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid for income taxes</a></td>
<td class="nump">85<span></span>
</td>
<td class="nump">545<span></span>
</td>
<td class="nump">82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Cash paid for amounts included in the measurement of lease liabilities included in operating cash flows</a></td>
<td class="nump">2,198<span></span>
</td>
<td class="nump">5,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for operating lease liabilities</a></td>
<td class="nump">6,644<span></span>
</td>
<td class="nump">14,986<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Noncash investing and financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Purchases of property and equipment included in accounts payable and accrued expenses</a></td>
<td class="nump">370<span></span>
</td>
<td class="nump">3,447<span></span>
</td>
<td class="nump">518<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid', window );">Capitalization of software development costs included in accrued expenses and accrued employee expenses</a></td>
<td class="nump">383<span></span>
</td>
<td class="nump">1,187<span></span>
</td>
<td class="nump">825<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount', window );">Stock-based compensation capitalized for software development</a></td>
<td class="nump">2,087<span></span>
</td>
<td class="nump">1,844<span></span>
</td>
<td class="nump">1,087<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_BusinessCombinationConsiderationAccruedButNotYetPaid', window );">Purchase consideration for acquisitions included in other current liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,977<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction', window );">Debt issuance and other financing costs accrued, not paid</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 371<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_AmortizationOfOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortization Of Operating Lease, Right-Of-Use Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_AmortizationOfOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_BusinessCombinationConsiderationAccruedButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Accrued But Not Yet Paid</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_BusinessCombinationConsiderationAccruedButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software Additions, Incurred But Not Yet Paid</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_IncreaseDecreaseInOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Operating Leases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_IncreaseDecreaseInOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of debt issuance costs that were incurred during a noncash or partial noncash transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4582445-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in other expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22595-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121641772&amp;loc=SL7669625-108580<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395209&amp;loc=SL114868664-224227<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=SL5780133-109256<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToDevelopSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToDevelopSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the cash inflow during the period from the sale of a component of the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfSecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfSecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647469865176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - Reconciliation - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfCashFlowsAbstract', window );"><strong>Statement of Cash Flows [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 140,263<span></span>
</td>
<td class="nump">$ 15,813<span></span>
</td>
<td class="nump">$ 74,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash included in other assets</a></td>
<td class="nump">436<span></span>
</td>
<td class="nump">434<span></span>
</td>
<td class="nump">430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and restricted cash</a></td>
<td class="nump">$ 140,699<span></span>
</td>
<td class="nump">$ 16,247<span></span>
</td>
<td class="nump">$ 74,506<span></span>
</td>
<td class="nump">$ 16,536<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfCashFlowsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfCashFlowsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647376152184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Business</a></td>
<td class="text">Nature of Business<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AppFolio, Inc. ("we," "us" or "our") provides innovative software, services and data analytics to the real estate industry. Our industry-specific, cloud-based solutions are used primarily by property managers, and also by numerous other constituencies in the property management business ecosystem. These other constituencies include property owners, rental prospects, tenants and service providers, whom we refer to collectively as "users". Although specific functionality varies by product, our core solutions are designed to enable our customers to digitally transform their businesses, address critical business operations and enable exceptional customer service. In addition to our core solutions, we offer an array of optional, but often business-critical, Value+ services that are designed to enhance, automate and streamline processes and workflows that are essential to our customers' businesses. Our Value+ services are generally available on an as-needed basis and enable our customers to adapt our offerings to their specific operational requirements.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our solutions and services are designed to be a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and their business ecosystems and a system of intelligence designed to leverage data to predict and optimize business workflows in order to enable exceptional customer experiences and increase efficiency across our customers' businesses.</span><span style="color:#3051f2;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our mobile-optimized software solutions are designed for use across multiple devices and operating systems. Our software solutions are offered as a service, are hosted using a modern cloud-based architecture, and in part, use artificial intelligence technologies. This architecture leads to rich data sets that have a consistent schema across our customer and user base and enables us to deploy data-powered products and services for our customers and users.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018, our revenue was $310.1 million, $256.0 million and $190.1 million, respectively of which $284.7&#160;million, $231.1&#160;million and $172.4&#160;million, respectively, are derived from our software and services offered to the real estate vertical. During certain periods covered by this Annual Report, we also provided software solutions and services to the legal vertical.</span></div>On September 30, 2020, we completed our divestiture of 100% of the issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary that provided such legal practice and case management software solutions to our legal customers. We sold MyCase to Mockingbird AcquisitionCo Inc., a Delaware corporation (&#8220;Buyer&#8221;) affiliated with funds advised by Apax Partners LLP, for $193.0&#160;million pursuant to a Stock Purchase Agreement, dated September 7, 2020 (the &#8220;Purchase Agreement&#8221;), by and among Buyer, us and MyCase (the &#8220;MyCase Transaction&#8221;). In connection with the closing of the MyCase Transaction, and in accordance with the terms of the Purchase Agreement, we entered into certain ancillary agreements with MyCase, including relating to certain post-closing transition services to be provided by us to MyCase at fair market value, as well as an intellectual property licensing agreement for certain software and patents for which no ongoing licensing fees will be received. We recognized a pre-tax gain on the sale of $187.7&#160;million on the MyCase Transaction.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375789400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">Summary of Significant Accounting Policies<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reclassification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We reclassified certain amounts in our Consolidated Balance Sheet in the prior year to confirm to the current year's presentation.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements include the operations of AppFolio, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our investment in SecureDocs, Inc. (&#8220;SecureDocs&#8221;) is accounted for under the equity method of accounting as we have the ability to exert significant influence, but do not control and are not the primary beneficiary of the entity. Our investment in SecureDocs is not material and any income (loss) activity is not material individually or in the aggregate to our Consolidated Financial Statements for any period presented. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States. The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of December&#160;31, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of our Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our Consolidated Financial Statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Consolidated Financial Statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our chief operating decision maker reviews financial information presented on an aggregated and consolidated basis, together with revenue information for our core solutions, Value+ and other service offerings, principally to make decisions about how to allocate resources and to measure our performance. Accordingly, management has determined that we have one reportable and operating segment. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject us to credit risk consist principally of cash, cash equivalents, restricted cash, accounts receivable, investment securities and notes receivable. We maintain cash balances at financial institutions in excess of amounts insured by United States government agencies or payable by the United States government directly. We place our cash with high credit, quality financial institutions. We invest in investment securities with a minimum rating of A by Standard &amp; Poor's or A-1 by Moody's and regularly monitor our investment security portfolio for changes in credit ratings.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Concentrations of credit risk with respect to accounts receivable and revenue are limited due to a large, diverse customer base. No individual customer represented 10% or more of accounts receivable at December&#160;31, 2020 and 2019 or revenue for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Accounting Standard Codification 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, describes a fair value hierarchy based on three levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following: </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Quoted prices in active markets for identical assets or liabilities or funds. </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Restricted Cash </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We consider all highly liquid investments, readily convertible to cash, and which have a remaining maturity date of three months or less at the date of purchase, to be cash equivalents. Cash and cash equivalents are recorded at fair value and consist primarily of bank deposits, treasury securities, and money market funds. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted cash of $0.4 million at December&#160;31, 2020 and 2019, is comprised of certificates of deposits relating to collateral requirements for customer automated clearing house and credit card chargebacks and minimum collateral requirements for our insurance services, which are recorded in other long-term assets. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our investment securities currently consist of corporate bonds, United States government agency securities and treasury securities. We classify investment securities as available-for-sale at the time of purchase and reevaluate such classification at each balance sheet date. All investments are recorded at estimated fair value. Unrealized gains and losses for available-for-sale investment securities are included in accumulated other comprehensive income, a component of stockholders&#8217; equity. We classify our investments as current when the period of time between the reporting date and the contractual maturity is twelve months or less and as noncurrent when the period of time between the reporting date and the contractual maturity is more than twelve months.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#8217;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of December&#160;31, 2020.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are recorded at the invoiced amount, net of an allowance for credit losses. The allowance for credit losses is based on historical loss experience, the number of days that receivables are past due, and an evaluation of the potential risk of loss associated with delinquent accounts. Accounts receivable considered uncollectible are charged against the allowance for credit losses when identified. We do not have any off-balance sheet credit exposure related to our customers. At December&#160;31, 2020 and 2019, our allowance for credit losses was not material. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is stated at cost, less accumulated depreciation. Depreciation is calculated using the straight-line method over the estimated useful lives of assets. The estimated useful lives of our property and equipment are as follows: </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.438%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.723%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:47.439%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Depreciation Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of remaining life of lease or asset life</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Repair and maintenance costs are expensed as incurred. Renewals and improvements are capitalized. Assets disposed of or retired are removed from the cost and accumulated depreciation accounts and any resulting gain or loss is reflected in our results of operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine if an arrangement is a lease at inception. Operating leases are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease ROU assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments, over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend the lease when it is reasonably certain that we will exercise that option. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease arrangements with lease and non-lease components, which are generally accounted for as a single lease component. Leases with an initial term of twelve months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capitalized Software Development Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of three years. We do not transfer ownership of our software, license, or lease our software to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determined that a three year life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of three years before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this three year estimate, a change in this estimate could produce a material impact on our financial statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the estimated fair value of the net tangible and identifiable intangible assets acquired in business combinations. Goodwill is tested for impairment at least annually at the reporting unit level or at other times if an event occurs or circumstances change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the option to assess goodwill for possible impairment by performing a qualitative analysis to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. A quantitative assessment is performed if the qualitative assessment results in a more-likely-than-not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent that the reporting unit&#8217;s carrying value exceeds its fair value. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have one reporting unit and we test for goodwill impairment annually during the fourth quarter of the calendar year. Additionally, in connection with the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. Based on the assessments performed at September 30, 2020 and November 1, 2020, we determined it was unlikely that our reporting unit fair value was less than its carrying value and no quantitative impairment test assessment was required. There were no indicators that our goodwill has become impaired since that date, and as such, there was no impairment charges recorded.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No impairment losses were recorded for goodwill during the years ended December 31, 2020, 2019 and 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets primarily consist of acquired database and technology, non-compete agreements, customer and partner relationships, trademarks and trade names, domain names and patents, which are recorded at cost, less accumulated amortization. We determine the appropriate useful life of our intangible assets by performing an analysis of expected cash flows of the acquired assets. Intangible assets are amortized over their estimated useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We assess the recoverability of our long-lived assets when events or changes in circumstances indicate that the carrying value of an asset may not be recoverable or that the useful lives of those assets are no longer appropriate. An impairment charge would be recognized when the carrying amount of a long-lived asset or asset group is not recoverable and exceeds its fair value. The carrying amount of a long-lived asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group. There were no impairment charges related to the identified long-lived assets for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generate revenue from our customers primarily for subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Refer to Note 15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue and Other Information</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for the disaggregated breakdown of revenue between core solutions, Value+ services and other revenue. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Core Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription basis for our core solutions. Our subscription fees are designed to scale to the size of our customers' businesses. Subscription fees for our core solutions are charged on a per-unit per-month basis for our property management software solution and on a per-user per-month basis for our legal software solution. Our customers do not have rights to the underlying software code of our solutions, and, accordingly, we recognize subscription revenue over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. The term of our core solutions subscription agreements typically ranges from one month to one year. We typically invoice our customers for subscription services in monthly or annual installments, in advance of the subscription period. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Value+ Services</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription or usage basis for our Value+ services. Subscription-based fees are charged on a per-unit basis. We typically invoice our customers for subscription-based services in monthly installments, in advance of the subscription period. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. Usage-based fees are charged on a flat rate per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our customers for usage-based services on a monthly basis for services rendered in the preceding month. In addition, some subscription or usage-based Value+ services, such as fees for electronic payment services, are paid by either our customers or clients of our customers at the time the services are rendered. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We work with third-party partners to provide certain of our Value+ services. For these Value+ services, we evaluate whether we are the principal, and report revenue on a gross basis, or the agent, and report revenue on a net basis. In this assessment we consider if we obtain control of the specified services before they are transferred to the customer, as well as other indicators such as whether we are the party primarily responsible for fulfillment, and whether we have discretion in establishing price.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other revenue include fees from one-time services related to the implementation of our software solutions and other recurring or one-time fees related to our customers who are not otherwise using our core solutions. This includes legacy customers of businesses we have acquired where the customers haven't migrated to our core solutions. The fees for implementation and data migration services are billed upon signing our core subscription contract and are not recognized until the core solution is accessible and fully functional for our customer's use. Other services are billed when the services rendered are completed and delivered to the customer or billed in advance and deferred over the subscription period.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contracts with Multiple Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Deferred Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record deferred revenue when cash payments are received in advance of our performance. During the twelve months ended December&#160;31, 2020 and 2019, we recognized revenue of $4.5 million and $3.4 million, respectively, that were included in the deferred revenue balances at December&#160;31, 2019 and 2018, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our payment terms vary by the type of our customer and the products or services offered. The time between invoicing and when payment is due is not significant. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined that our contracts do not include a significant financing component.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Practical Expedients</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the transaction price, we have applied the practical expedient which allows us not to adjust the consideration for the effects of the time value of money as long as the time between when we transfer the promised service to a customer and when a customer pays is one year or less. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not disclose the value of unsatisfied performance obligations for contracts with an original expected term of one year or less.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in proportion to the amount we have the right to invoice for certain core solutions and Value+ services revenue, as that amount corresponds directly with our performance completed to date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Costs </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs, which primarily consist of sales commissions, are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized on a straight-line basis over a period of benefit that we have determined to be three years. We typically do not pay commissions for contract renewals. We determined the period of benefit by taking into consideration our customer contract term, the useful life of our internal-use software, average customer life, and other factors. Amortization expense for the deferred costs is allocated based on the employee's department and included within</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sales and marketing expense in the accompanying Consolidated Statements of Operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs were $10.3 million and $9.5 million at December&#160;31, 2020 and 2019, respectively, of which $5.5 million and $4.8 million, respectively, are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and $4.8 million and $4.6 million, respectively, are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the accompanying Consolidated Balance Sheets. Amortization expense for deferred costs was $5.8 million, $4.2 million, and $2.0 million for the years ended December&#160;31, 2020, 2019, and 2018, respectively. For the&#160;years ended&#160;December&#160;31, 2020 and 2019, no impairments were identified in relation to the costs capitalized for the periods presented.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Marketing </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. Advertising expenses were $7.0 million, $5.8 million and $4.5 million for each of the years ended December&#160;31, 2020, 2019 and 2018, respectively, and are expensed as incurred. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Product Development </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Depreciation and Amortization </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize stock-based compensation expense for stock-based awards granted to employees and directors that can be settled in shares of our common stock. We estimate the fair value of stock options and performance-based stock options ("PSOs"), using the Black-Scholes option-pricing model. We estimate the fair value of restricted stock awards ("RSAs"), restricted stock units ("RSUs") and performance-based RSUs or performance share units ("PSUs") based on the fair value of our common stock on the date of grant.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019, and 2018 we did not grant time-based stock options or PSOs. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs generally vest in equal tranches over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0">four</span> annual periods and are expensed on a straight-line basis over the vesting period. The shares underlying the RSU grants are not issued and outstanding until the applicable vesting date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance-Based Equity Awards </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our PSUs include performance conditions that require us to estimate the probable outcome of the performance condition. This assessment is based on management's judgment using internally developed forecasts and assessed at each reporting period. Compensation cost is recorded if it is probable that the performance condition will be achieved. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. PSUs will vest upon achievement of the relevant performance metric once such calculation is reviewed and approved by our Board of Directors. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Forfeiture Rate</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We estimate a forfeiture rate to calculate our stock-based compensation expense for our stock-based awards. The forfeiture rate is based on an analysis of actual forfeitures. We will continue to evaluate the appropriateness of the forfeiture rate based on actual forfeiture experience, analysis of employee turnover, and other factors. Changes in the estimated forfeiture rate can have a significant impact on our stock-based compensation expense as the cumulative effect of adjusting the rate is recognized in the period the estimated forfeiture rate is changed. If a revised forfeiture rate is higher than the previously-estimated forfeiture rate, an adjustment is made that will result in a decrease to our stock-based compensation expense recognized in our Consolidated Financial Statements. If a revised forfeiture rate is lower than the previously-estimated forfeiture rate, an adjustment is made that will result in an increase to our stock-based compensation expense recognized in our Consolidated Financial Statements. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income per Share</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share includes no dilution and is computed by dividing net income for the period by the weighted average number of common shares outstanding during the period. Diluted net income per share is computed by dividing net income for the period by the weighted average number of shares of common stock and potentially dilutive common stock outstanding during the period. The dilutive effect of outstanding options and equity incentive awards is reflected in diluted net income per share by application of the treasury stock method. The calculation of diluted net income per share excludes all anti-dilutive common shares.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The net income per common share was the same for our Class A and Class B common shares because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of our weighted average number of Class A and Class B common shares used to compute net income per share (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:69.281%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.284%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.284%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.285%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,269&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,020&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,139&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Weighted average unvested restricted shares subject to repurchase</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,264&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,016&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,128&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,016&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,128&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,449&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,551&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,434&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; diluted</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,713&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,567&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,562&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018, an aggregate of 79,000, 187,000 and 358,000 shares, respectively, underlying PSOs and PSUs were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon satisfaction of pre-defined performance measures and their respective performance measures have not been met. RSUs with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the years ended December&#160;31, 2020, 2019 and 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2018</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2014, the Financial Accounting Standards Board ("FASB") issued the New Revenue Standard, which requires an entity to recognize the amount of revenue to which it expects to be entitled for the transfer of promised goods or services to customers. The New Revenue Standard also includes Subtopic 340-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Assets and Deferred Costs - Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which discusses the deferral of incremental costs of obtaining a contract with a customer.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted the New Revenue Standard at January 1, 2018 using the modified retrospective transition method applied to those contracts which were not completed at that date. We recognized the cumulative effect of initially applying the New Revenue Standard as an adjustment to the opening balance of retained earnings. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of the New Revenue Standard did not have an impact on our revenues. It did, however, have a significant impact related to the deferral of incremental costs of obtaining contracts. Prior to the adoption of the New Revenue Standard, our commissions were expensed as incurred. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.894%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2017</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,546&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,238&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,816&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,054&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67,247)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,964&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64,283)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2019</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2016, the FASB issued ASU No. 2016-02, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ("ASU 2016-02"), which requires an entity to recognize ROU assets and lease liabilities on its balance sheet and disclose key information about leasing arrangements. ASU 2016-02 offers specific accounting guidance for a lessee, a lessor and sale and leaseback transactions. Lessees and lessors are required to disclose qualitative and quantitative information about leasing arrangements to enable a user of the financial statements to assess the amount, timing and uncertainty of cash flows arising from leases. In July&#160;2018, the FASB issued ASU No. 2018-11, Leases (Topic 842): Targeted Improvements ("ASU 2018-11"). Among other things, ASU 2018-11 provides administrative relief by allowing entities to implement the lease standard on a modified retrospective basis (the "Optional Transition Method"). Effectively, the Optional Transition Method permits us to adopt the lease standard through a cumulative effect adjustment to our opening balance sheet as of January 1, 2019, and report under the new lease standard on a post-adoption basis. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted ASU 2016-02 effective January 1, 2019, using the Optional Transition Method. We elected the package of practical expedients permitted under the transition guidance, which allows us to carry forward our historical lease classification, our assessment of whether a contract is or contains a lease, and our initial direct costs for any leases that existed prior to adoption of the new lease standard. The comparative information has not been recast and continues to be reported under the accounting standards in effect for those periods. We updated our accounting policies, processes, internal controls and information systems that were required to meet the new lease standard's reporting and disclosure requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of ASU 2016-02 had a material impact on our Consolidated Balance Sheets, but did not have an impact on our Consolidated Statements of Operations or our Consolidated Statements of Cash Flows. The most significant impact was the recognition of ROU assets and lease liabilities for operating leases.&#160;We also reclassified prepaid and deferred rent to the ROU asset balance as of January 1, 2019.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.958%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2018</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(317)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2020</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377465048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Divestures and Business Combinations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Divestures and Business Combinations</a></td>
<td class="text">Divestitures and Business Combinations<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Divestiture of MyCase</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 30, 2020, we completed the MyCase Transaction for $193.0&#160;million, consisting of $192.2&#160;million of cash proceeds, plus a $2.2&#160;million employee retention bonus pool funded by us, less cash divested of $0.8&#160;million and a preliminary working capital adjustment of $0.6&#160;million. The retention bonus pool is refundable to us to the extent that MyCase employees are terminated prior to the retention period, which is one year from the closing date of the MyCase Transaction. A portion of the cash proceeds was used to pay all outstanding borrowings under the Credit Facility. Refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-Term Debt,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of our Consolidated Financial Statements for more information about the termination of the Credit Facility. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized a pre-tax gain on the sale of $187.7&#160;million on the MyCase Transaction, consisting of cash proceeds of $192.2&#160;million, less net assets divested of $4.6&#160;million. Net assets divested is primarily comprised of capitalized software development costs of $3.9&#160;million, deferred revenue of $2.8&#160;million and goodwill allocated to MyCase of $2.3&#160;million. The gain on the sale is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Consolidated Statements of Operations. Income received in relation to the transition services provided by us to MyCase of $1.1&#160;million is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income (expense), net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in our Consolidated Statements of Operations. Refer to Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, of our Consolidated Financial Statements for more information about the MyCase Transaction.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of Dynasty&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 7, 2019, we acquired&#160;100%&#160;of the voting equity interest of Dynasty Marketplace, Inc. ("Dynasty") for $60.2 million, of which $6.0 million the "Holdback Amount") was retained by us to satisfy any necessary adjustments, including without limitation certain indemnification claims. The balance of the Holdback Amount, less any amount retained with respect to any unresolved indemnification claims, was released to the stockholders of Dynasty on January 10, 2020 in accordance with the terms of the purchase agreement. Dynasty is a provider of advanced artificial intelligence solutions for the real estate vertical, which automate leasing communications, replace manual tasks and help customers grow their portfolios.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction was accounted for using the acquisition method and, as a result, assets acquired and liabilities assumed were recorded at their estimated fair values as of the acquisition date. Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies and comparable companies, estimates of future revenue and cash flows, discount rates, and the software decay rate and database ramp up rate. The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:71.707%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.765%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.768%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount <br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Useful Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">305&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identified intangible assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,730&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,110&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark &amp; trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreement</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,877&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued and other liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liability, net </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,711&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,759&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,208&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is mainly attributable to synergies expected from the acquisition and assembled workforce and is non-deductible for U.S. federal income tax purposes. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We incurred a total of $0.3 million in transaction costs related to the acquisition and expensed all transaction costs incurred during the period in which such service was received. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Pro Forma Results of Operations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma information has been prepared for illustrative purposes only, and assumes that the aforementioned Dynasty acquisition occurred on January 1, 2018, and includes pro forma adjustments related to the amortization of acquired intangible assets, elimination of historical interest and amortization expense, income taxes, compensation arrangements, and the transaction costs incurred. The unaudited pro forma results have been prepared based on estimates and assumptions, which we believe are reasonable; however, they are not necessarily indicative of the consolidated results of operations had the acquisitions occurred at the beginning of the periods presented, or of future results of operations. The unaudited pro forma results are as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:71.707%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.765%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.768%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,047&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,339&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,937&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377160936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock', window );">Investment Securities and Fair Value Measurements</a></td>
<td class="text">Investment Securities and Fair Value Measurements<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment securities classified as available-for-sale consisted of the following at December&#160;31, 2020 and 2019 (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,104&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,847&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,951&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,026&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:5pt;margin-top:23pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,597&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,101&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,222&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,920&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,965&#160;</span></td><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"/></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December 31, 2019, the unrealized losses on investment securities which have been in a net loss position for twelve months or greater were not material. These unrealized losses are considered temporary and there were no impairments considered to be "other-than-temporary" based on our evaluation of available evidence, which includes our intent to hold these investments to maturity or a recovery of the cost basis.</span></div><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December&#160;31, 2020 and 2019, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investments, by remaining contractual maturity, are as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.131%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.964%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,197&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,846&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,876&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through three years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,754&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,074&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,089&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,951&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,026&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,920&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,965&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,600&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,878&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,827&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,711&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,330&#160;</span></td><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"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:98.840%"><tr><td style="width:1.0%"/><td style="width:42.155%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.538%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,350&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,625&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">685&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,750&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,660&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019 and 2018 we received interest income net of the amortization and accretion of the premium and discount of $0.3 million, $0.6 million, and $1.0 million, respectively.&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recurring Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,076&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,208&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,570&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,732&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,302&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2019, the estimated fair value of the $50.0&#160;million term loan issued by Wells Fargo Bank, National Association ("Wells Fargo"), as administrative agent, and the lenders that are parties thereto ("Term Loan") and the $50.0&#160;million revolving credit facility made available to us by Wells Fargo and the lenders that are parties thereto ("Revolving Facility," and, together with the Term Loan, the "Credit Facility"), approximated their carrying values due to the variable interest rates. We considered the fair value of the Credit Facility to be Level 2 measurements as these debt instruments were not actively traded. We carried the Term Loan at face value less the unamortized discount. Refer to Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-Term Debt, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our Consolidated Financial Statements for more information about our since-terminated Credit Facility.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes to our valuation techniques used to measure asset and liability fair values on a recurring basis during the&#160;year ended December&#160;31, 2020. The valuation techniques for the financial assets in the tables above are as follows:</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash Equivalents</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020 and 2019, cash equivalents include cash invested in money market funds and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Available-for-Sale Investment Securities</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value for our Level 1 investment securities is based on market prices for identical assets. Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-Recurring Fair Value Measurements</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired.  For the years ended&#160;December&#160;31, 2020, 2019 and 2018, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment Securities And Fair Value Measurements, Disclosure [Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647376132792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment, net</a></td>
<td class="text">Property and Equipment, net<div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:70.349%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Data center and computer equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,597&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,983&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,021&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,953&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,511&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,387&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,072)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,643)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total property and equipment, net</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,439&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,744&#160;</span></td><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"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense for property and equipment totaled $4.0 million, $3.1 million, and $2.4 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During September 2020, $13.9&#160;million of capitalized costs, principally comprised of furniture and fixtures and leasehold improvements related to our corporate headquarters in Santa Barbara, California were ready for their intended use and were placed into service.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377290264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Costs, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Capitalized Software Development Costs</a></td>
<td class="text">Capitalized Software Development Costs, net<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs, net were as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:69.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, gross</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,974&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(61,515)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,452)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,023&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs were $27.3 million, $23.6 million and $13.8 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. Amortization expense with respect to software development costs totaled $17.9 million, $14.0 million and $11.0 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. During the year ended December&#160;31, 2020, $3.9 million in capitalized software development costs were divested in connection with the MyCase Transaction. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs at December&#160;31, 2020 is estimated as follows (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:84.258%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,668&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,459&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 730<br> -URI http://asc.fasb.org/subtopic&amp;trid=2197926<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375842712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net and Goodwill<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Intangible Assets, net and Goodwill</a></td>
<td class="text">Intangible Assets, net and Goodwill<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following (in thousands, except years):</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.856%"><tr><td style="width:1.0%"/><td style="width:32.137%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.874%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,550)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,787)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,543&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(732)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,964)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,436&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(70)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(240)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,021&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,664)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,357&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.3</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"/><td style="width:31.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.041%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,070&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,296)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,774&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(954)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,541&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,074)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,690&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(898)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,484)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,916&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(276)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">470&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(470)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,734&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,357)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,377&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense with respect to intangible assets totaled $4.9 million, $5.3 million and $1.2 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively. Future amortization expense with respect to intangible assets is estimated as follows (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"/><td style="width:82.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.463%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,378&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,357&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our goodwill balance is solely attributed to acquisitions. As a result of the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. There have been no impairment charges recorded against goodwill. The change in the carrying amount of goodwill during the twelve months ended December&#160;31, 2020 is as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.664%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.518%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.418%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,425&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill attributed to MyCase divestiture</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,278)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,147&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375810280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Employee Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsGeneralTextBlock', window );">Accrued Employee Expenses</a></td>
<td class="text">Accrued Employee Expenses<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued employee expenses consisted of the following (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:69.975%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.381%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.708%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.526%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.710%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,554&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonuses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,638&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued commissions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,995&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,860&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,202&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll taxes and other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,270&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued employee expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,888&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,758&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsGeneralTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6409950&amp;loc=d3e20396-108366<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsGeneralTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375842712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases for our corporate offices have remaining lease terms ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90ZXh0cmVnaW9uOjRmZWFmMzc3ZWMxODRiNDJiOGMwMjllYjhlMTQ2NDE0XzY1OTcwNjk3Njk0Mzg_e13e4af0-ccec-4e1a-a2d9-ac59fdda846f">one</span> to eleven years, some of which include options to extend the leases for up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. Certain leases contain provisions for property-related costs that are variable in nature for which the Company is responsible, including common area maintenance. Operating lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $5.3 million and $5.1&#160;million, respectively. Variable lease cost associated with our operating leases for the twelve months ended December&#160;31, 2020 and 2019 was $1.4&#160;million and $1.1&#160;million, respectively. We recorded rent expense of $2.6&#160;million for the year ended December&#160;31, 2018. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Lease-related assets and liabilities were as follows (in thousands, except years and %): </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:70.391%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,972&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,908&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199">Other current liabilities</span></span></span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,826&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,146&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,312&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease liabilities</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,991&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,138&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2020 were as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:84.990%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years ending December 31, </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(915)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,544&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,797&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,671&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,982&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,963)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,019&#160;</span></td><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"/></tr></table></div><div style="text-align:justify"><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">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments for the year ending December 31, 2021 are presented net of tenant improvement allowances of $4.8 million.</span></div><div style="text-align:justify"><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">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of $4.0 million on our Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next twelve months. </span></div>On December 17, 2020, we entered into a lease amendment for 1707 N Plano Road, Richardson, Texas. The amendment expands the current leased space with three additional suites totaling approximately 23,833 square feet and extends the lease term to March 31, 2032. The total commitment under this lease is $11.6&#160;million.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375799128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Long-term Debt</a></td>
<td class="text">Long-term Debt<div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 24, 2018, we entered into Amendment Number Two to the Credit Agreement (the "Second Amendment") with Wells Fargo, as administrative agent, and the lenders that were parties thereto (as amended, the "Credit Agreement"). Under the terms of the Second Amendment, the lenders issued the Term Loan to us and increased the amount available under the Revolving Facility to $50.0 million. The maturity date of the Term Loan and Revolving Facility was December 24, 2023. In addition, pursuant to the Second Amendment, we were permitted to make certain restricted junior payments, including, without limitation, repurchases of our common stock, and to enter into acquisitions with no value limitation, so long as we maintained specified liquidity requirements and leverage ratios. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Second Amendment also modified certain financial covenants by, among other things, requiring us to maintain (i) an EBITDA to interest expense ratio of not less than 3.0 to 1.0, and (ii) a funded indebtedness to EBITDA ratio of not more than 3.5:1.0 (the "Required Leverage Ratio") (decreasing by 0.25 per year until the Required Leverage Ratio is 2.5 to 1.0); provided, however, that we were not required to maintain the foregoing ratios if our liquidity (defined as the sum of the remaining borrowing capacity under the Credit Agreement and available cash) had equaled or exceeded the greater of $20.0 million and 20% of the sum of the outstanding principal amount of the Term Loan and commitments under the Revolving Facility. If we entered into an acquisition with a purchase price greater than or equal to $20.0 million, then the Required Leverage Ratio would be increased by 0.5 for the 12-month period immediately following the consummation of such acquisition.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement contained customary affirmative, negative and financial covenants. The affirmative covenants required us to, among other things, disclose financial and other information to the lenders, maintain our business and properties, and maintain adequate insurance. The negative covenants restricted us from, among other things, incurring additional indebtedness, prepaying certain types of indebtedness, encumbering or disposing of our assets, making fundamental changes to our corporate structure, and making certain dividends and distributions.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the terms of the Second Amendment, borrowings under the Credit Agreement would bear interest at a fluctuating rate per annum equal to, at our option, (i) LIBOR or (ii) an alternate base rate, in each case plus the applicable interest rate margin. Borrowings would fluctuate between LIBOR plus 1.5% per annum and adjusted LIBOR plus 2.0% per annum (or between the alternate base rate plus 0.5% per annum and the alternate base rate plus 1.0% per annum), based upon our Required Leverage Ratio. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fees payable on the unused portion of the Revolving Facility were 0.25% per annum, unless the average usage of the Revolving Facility was equal to or less than $30.0&#160;million for the applicable period, in which case the fees on the unused portion of the Revolving Facility would have been 0.375% per annum.&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In connection with the MyCase Transaction, and as required by the terms of the Credit Agreement, the Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility thereunder, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the MyCase Transaction and extinguished. Immediately prior to the repayment of amounts owed under, and termination of, the Credit Agreement, there were approximately $48.1&#160;million in term loans outstanding and $49.1&#160;million in revolving borrowings outstanding. Refer to Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Nature of Business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, and Note 3, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Divestitures and Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, of our Consolidated Financial Statements for more information about the MyCase Transaction.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Debt Financing Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Second Amendment, we incurred $0.4&#160;million in financing fees that were capitalized and amortized over the remaining life of the related debt, $0.2&#160;million of which was related to the Term Loan and $0.2&#160;million of which was related to the Revolving Facility. Pursuant to GAAP, the Second Amendment is accounted for as a debt modification. As a result, the unamortized deferred debt financing costs related to the Revolving Facility prior to the Second Amendment were added to the $0.2&#160;million of deferred debt financing costs related to the Second Amendment and amortized over the remaining life of the Revolving Facility.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Debt financing costs were deferred and amortized, using the straight-line method, which approximated the effective interest method, for costs related to the Term Loan and the straight-line method for costs related to the Revolving Facility over the term of the arrangement; such amortization is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest expense, net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the Consolidated Statements of Operations. Amortization of deferred debt financing costs was not material for the years ended December&#160;31, 2020, 2019 and 2018. At December&#160;31, 2019, the remaining unamortized deferred debt financing costs were $0.4 million, of which $0.2 million was offset against debt. As of December&#160;31, 2019, $0.3 million of the remaining unamortized deferred debt financing costs were recorded in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Other long-term assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Condensed Consolidated Balance Sheets, as they pertained to the Revolving Facility. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of our long-term debt as of December&#160;31, 2020 and December&#160;31, 2019 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:69.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amounts due under Term Loan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized debt financing costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt, net of unamortized debt financing costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,583&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377986728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitment and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and Contingencies<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Liability to Landlord Insurance</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use our insurance services, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $100,000 per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a 100% quota share of the legal liability to landlord insurance provided to our customers through our third-party service provider. Included in cost of revenue we accrue for reported claims, and an estimate of losses incurred but not reported by our property management customers, as we bear the risk related to claims. Our liability for reported claims and incurred but not reported claims at December&#160;31, 2020 and 2019 was $1.5 million and $1.8 million, respectively, and is included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in prepaid expenses and other current assets as of December&#160;31, 2020 and 2019 are $2.7 million and $1.3 million, respectively, of deposits held with a third party related to requirements to maintain collateral for our insurance services.</span></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2019, we received a Request for Information from the Civil Rights Division (Housing and Civil Enforcement Section) of the U.S. Department of Justice ("DOJ") requesting certain information relating to our compliance with the Servicemembers Civil Relief Act in connection with our tenant screening Value+ service. On November 6, 2020, the DOJ issued a no action letter, declining to take any action against us and closing its investigation. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2018, we received a Civil Investigative Demand from the Federal Trade Commission ("FTC") requesting certain information relating to our compliance with the Fair Credit Reporting Act in connection with our tenant screening Value+ service (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there is a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA that could result in monetary penalty and/or injunctive relief. We disagree with the stated belief of the FTC and vigorously defended our position.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notwithstanding our disagreement with the FTC's position, and primarily in an effort to avoid protracted litigation and potential distraction to our business, we entered into settlement negotiations with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. Those settlement negotiations resulted in a final agreement between the parties that is memorialized in a Stipulated Order for Permanent Injunction and Civil Penalty Judgment filed in the United States District Court for the District of Columbia on January 12, 2021. We admitted no wrongdoing in connection with the settlement.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the second quarter of 2020, we determined that a loss stemming from the FTC Investigation was probable and that a reasonable estimate of the loss was approximately $4.3&#160;million. Accordingly, an accrual of $4.3&#160;million is included within </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">accrued expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheet as of December&#160;31, 2020. The ultimate settlement amount of $4.3&#160;million was paid in January 2021. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the foregoing, from time to time, we are involved in various other investigatory inquiries or legal proceedings arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, regulatory and contractual issues. Although the results of such investigatory inquiries and legal proceedings cannot be predicted with certainty, we believe that we are not currently a party to any investigatory inquiries or legal proceeding(s) which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnification</span></div>In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of any applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make under these indemnification provisions may not be subject to maximum loss clauses and is indeterminable. We have never paid a material claim, nor have any legal claims been brought against us, in connection with these indemnification arrangements. At&#160;December&#160;31, 2020&#160;and&#160;2019, we have not accrued a liability for these indemnification arrangements because we determined that the likelihood of incurring a payment obligation, if any, in connection with these indemnification arrangements is not probable or reasonably possible and the amount or range of amounts of any such liability is not reasonably estimable.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121559207&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377260216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">Stockholders&#8217; Equity <div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Amended and Restated Certificate of Incorporation</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon the effectiveness of our Amended and Restated Certificate of Incorporation on June 25, 2015, the number of shares of capital stock that is authorized to be issued was increased to 325,000,000 shares, of which 250,000,000 shares are Class A common stock, 50,000,000 shares are Class B common stock and 25,000,000 are undesignated preferred stock. The Class A common stock, Class B common stock and preferred stock have a par value of $0.0001 per share. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Class A Common Stock and Class B Common Stock </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except for voting rights, or as otherwise required by applicable law, the shares of our Class&#160;A common stock and Class B common stock have the same powers, preferences and rights and rank equally, share ratably and are identical in all respects as to all matters. The rights and preferences are as follows:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Dividend Rights</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Subject to preferences that may apply to any shares of preferred stock outstanding at the time, the holders of outstanding shares of our Class A common stock and Class B common stock are entitled to receive dividends out of funds legally available at the times and in the amounts that our Board of Directors may determine. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Voting Rights</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The holders of our Class&#160;A common stock are entitled to one vote per share, and holders of our Class B common stock are entitled to 10 votes per share. The holders of our Class&#160;A common stock and Class B common stock will vote together as a single class on all matters submitted to a vote of our stockholders, unless otherwise required by Delaware law or our amended and restated certificate of incorporation. Delaware law could require either holders of our Class&#160;A common stock or holders of our Class B common stock to vote separately. In addition, our amended and restated certificate of incorporation requires the approval of the holders of at least a majority of the outstanding shares of our Class B common stock, voting as a separate class to approve a change-in-control transaction. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Conversion</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Upon the closing of our initial public offering ("IPO"), all shares of our convertible preferred stock and common stock held prior to the offering were converted into shares of Class B common stock. Currently, each share of our Class B common stock is convertible at any time at the option of the holder into one share of our Class&#160;A common stock. In addition, each share of our Class B common stock will convert into one share of our Class&#160;A common stock upon any transfer, whether or not for value, except for certain transfers described in our amended and restated certificate of incorporation, including, without limitation, (i)&#160;a transfer by a partnership or limited liability company that was a registered holder of our Class B common stock at the &#8220;effective time,&#8221; as defined in our amended and restated certificate of incorporation, to a partner or member thereof at the effective time or (ii)&#160;a transfer to a &#8220;qualified recipient,&#8221; as defined in our amended and restated certificate of incorporation. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All the outstanding shares of our Class B common stock will convert automatically into shares of our Class&#160;A common stock upon the date when the number of outstanding shares of our Class B common stock represents less than 10% of all outstanding shares of our Class&#160;A common stock and Class B common stock. Once converted into our Class A common stock, our Class B common stock may not be reissued. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Right to Receive Liquidation Distributions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Upon our dissolution, liquidation or winding-up, the assets legally available for distribution to our stockholders are distributable ratably among the holders of our Class&#160;A common stock and Class B common stock, subject to prior satisfaction of all outstanding debt and liabilities and the preferential rights and payment of liquidation preferences, if any, on any outstanding shares of preferred stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Preferred Stock </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective upon the filing of our amended and restated certificate of incorporation in June 2015, no shares of preferred stock were outstanding because all outstanding shares of our convertible preferred stock converted into our Class B common stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of our amended and restated certificate of incorporation, our Board of Directors will be authorized, subject to limitations prescribed by Delaware law, to issue up to 25,000,000 shares of our preferred stock in one or more series, to establish from time to time the number of shares to be included in each series, and to fix the designation, powers, preferences and rights of the shares of each series and any of its qualifications, limitations or restrictions, in each case without further action by our stockholders. The number of authorized shares of any series of preferred stock may be increased or decreased, but not below the number of shares of that series then outstanding, by the affirmative vote of the holders of a majority of the voting power of our outstanding capital stock entitled to vote thereon, or such other vote as may be required by the certificate of designation establishing the series. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchase Program</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 20, 2019, our Board of Directors authorized a $100.0&#160;million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of three directors, in open market purchases or in privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the Share Repurchase Program, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and it may be modified, suspended or terminated at any time and for any reason. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2020, we repurchased a total of 48,002 shares of our Class A common stock through open market repurchases, and recorded a $4.2&#160;million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Share Repurchase </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Program subsequent to the three months ended March 31, 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375803480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text">Stock-Based Compensation2015 Stock Incentive Plan<div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with our IPO in 2015, our Board of Directors and stockholders adopted the 2015 Stock Incentive Plan (the "2015 Plan"). Upon adoption of the 2015 Plan, 2,000,000 shares of our Class A common stock were reserved and available for grant and issuance. On January 1 of each subsequent calendar year, the number of shares available for grant and issuance under the 2015 Plan increase by the lesser of (i)&#160;the number of shares of our Class A common stock subject to awards granted under the 2015 Plan during the preceding calendar year and (ii)&#160;such lesser number of shares of our Class A common stock determined by our Board of Directors. At December&#160;31, 2020, we have reserved an aggregate of 4,026,493 shares of our Class&#160;A common stock for grant and issuance under the 2015 Plan. The number of shares of our Class A common stock is also subject to adjustment in the event of a recapitalization, stock split, reclassification, stock dividend or other change in our capitalization. The 2015 Plan authorizes the award of stock options, stock appreciation rights, RSAs, RSUs, performance awards and stock bonuses. The 2015 Plan provides for the grant of awards to our employees, directors, consultants and independent contractors, subject to certain exceptions. RSUs, PSUs, and RSAs have been issued during 2020 pursuant to the 2015 Plan.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options may vest based on the passage of time or the achievement of performance conditions at the discretion of our compensation committee.&#160;Our compensation committee may provide for stock options to be exercised only as they vest or to be immediately exercisable with any shares issued on exercise being subject to our right of repurchase that lapses as the shares vest.&#160;The maximum term of stock options granted under the 2015 Plan is 10 years.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs and PSUs represent the right on the part of the holder to receive shares of our Class&#160;A common stock at a specified date in the future or the achievement of performance conditions at the discretion of our compensation committee, subject to forfeiture of that right due to termination of employment.&#160;If an RSU or PSU has not been forfeited, then, on the specified date, we will deliver to the holder of the RSU or PSU shares of our Class&#160;A common stock. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2007 Stock Incentive Plan</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;14, 2007, our Board of Directors adopted the 2007 Stock Incentive Plan (the &#8220;2007 Plan&#8221;). Following our IPO, our Board of Directors determined not to make any further awards under the 2007 Plan. The 2007 Plan expired on February 14, 2017. The 2007 Plan will continue to govern outstanding awards granted under the 2007 Plan.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of our stock option activity for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:53.219%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.397%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Exercise Price&#160;per&#160;Share</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual&#160;Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December&#160;31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,342&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.84&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.9</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(119)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.93&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">At December&#160;31, 2020:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and expected to vest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercisable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended&#160;December&#160;31, 2020, 77,000 PSOs vested based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019, and 40,000 PSOs vested based on the achievement of 115% of the pre-established gross margin target for the year ended December 31, 2019.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our stock-based compensation expense for stock options for the years ended December&#160;31, 2020 was not material. Our stock-based compensation expense for stock options for the years ended December 31, 2019 and 2018 was $0.6 million and $1.6 million, respectively. At December&#160;31, 2020, the total remaining stock-based compensation expense for unvested stock options was not material.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. No stock options were granted during the years ended December&#160;31, 2020, 2019 or 2018. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic value of options exercised in 2020, 2019 and 2018 was $17.9 million, $11.5&#160;million, and $7.5 million, respectively. This intrinsic value represents the difference between the fair value of our common stock on the date of </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">exercise and the exercise price of each option. Based on the fair value of our common stock at December&#160;31, 2020, the total intrinsic value of all outstanding options, exercisable options, and options vested and expected to vest was $196.6 million. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The excess tax benefit realized from option exercises during the years ended December&#160;31, 2020, 2019 and 2018 was $30.1&#160;million, $20.5 million, and $7.7 million, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSUs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:64.442%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.322%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.470%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52.42&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112.24&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(268)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36.58&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70.52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">483&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80.20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;year ended&#160;December&#160;31, 2020, we granted a total of&#160;160,000&#160;RSUs that are subject to time-based vesting in equal annual installments over four years, and 14,000 PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2020, 2021 and 2022, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the&#160;year ended&#160;December&#160;31, 2020,&#160;84,000 PSUs vested and 4,000 PSUs were cancelled based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Included in the unvested RSUs and PSUs at&#160;December&#160;31, 2020 are 32,000 and 82,000 PSUs granted in 2019 and 2018, respectively. Of these PSUs, 48,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2020, 42,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, and 24,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022. The number of PSUs granted assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize expense for the PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for the RSUs and PSUs for the years ended December&#160;31, 2020, 2019 and 2018, was $10.4 million, $8.3 million and $5.5 million, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, the total remaining stock-based compensation expense for these RSUs was $23.4 million, which is expected to be recognized over a weighted average period of 2.2 years.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Awards</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSAs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.762%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.402%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted- Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105.88&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105.88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the right to repurchase any unvested RSAs subject to certain conditions. RSAs vest over a one-year period. For the years ended December&#160;31, 2020, 2019 and 2018, we recognized stock-based compensation expense for RSAs of $0.7 million, $0.3 million and $0.3 million, respectively. During 2020, the grant date fair value of the shares vested was $0.5 million.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, the total remaining stock-based compensation expense for unvested RSAs was $0.4 million, which is expected to be recognized over a weighted average period of 0.7 years.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647376085320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2020, we recorded income tax expense of $38.4 million. The tax provision for the year ended December&#160;31, 2020 includes tax expense of $51.3&#160;million relating to the MyCase Transaction which includes $52.3&#160;million of current tax expense on the gain on the sale of MyCase, less a $1.0&#160;million benefit on the reversal of deferred tax liabilities relating to MyCase. For tax purposes, we plan to file an election to treat the transaction as a sale of assets. As such, the tax impact takes into consideration the tax basis of the assets on the date of sale and the availability of net operating losses and research and development tax credits. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to state income taxes and the benefits associated with stock-based compensation expense and research and development tax credits.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Set forth below is a reconciliation of the components that caused our provision for income taxes to differ from amounts computed by applying the United States federal statutory rate for the years ended December&#160;31, 2020, 2019, and 2018: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. federal statutory income tax rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State and local income taxes, net of federal benefit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(53)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(88)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Meals and entertainment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(475)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other permanent differences</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(652)</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for (benefit from) income tax consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,444&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,426&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,761)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,020&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,002&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,444)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision (benefit)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,428&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,459)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of deferred tax assets (liabilities) were as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:74.706%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,525&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,700&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,895&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,291&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,196&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,692&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,550&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,412)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,965)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,693)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,767)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,708)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,492)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,350)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,563)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,064)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,152)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(751)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,590)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29,978)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25,529)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax (liabilities) assets</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,428)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,574&#160;</span></td><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"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020, we had no federal net operating loss carryforwards. At December&#160;31, 2020, we had state net operating loss carryforwards of $46.5&#160;million, which will begin to expire in 2028. At December&#160;31, 2020, we also had federal and state research and development credit carryforwards of $4.1&#160;million and $11.5&#160;million, respectively. The federal credit carryforwards will begin to expire in 2040, while the state credit carryforwards apply indefinitely. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Internal Revenue Code of 1986, as amended (&#8220;IRC&#8221;), imposes substantial restrictions on the utilization of tax attributes in the event of an &#8220;ownership change&#8221; of a corporation. Accordingly, a company&#8217;s ability to use pre-change tax attributes may be limited as prescribed under IRC Section 382. Events which may cause limitation in the amount of the tax attributes that we utilize in any one year include, but are not limited to, a cumulative ownership change of more than 50% over a rolling three-year period. We have undertaken an IRC Section 382 analysis and have determined that there are no limitations on the tax attributes at December&#160;31, 2020. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2019 and 2018, we recorded an income tax benefit of $31.5 million and income tax expense of $0.4 million. During the second quarter of 2019, we evaluated all available positive and negative evidence, including our sustained profitability in 2018 and 2019, the impact of recent acquisitions and future projections of profitability. As a result, we determined that all of our deferred tax assets were more likely than not to be realized and reversed the valuation allowance against those deferred tax assets accordingly.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The change in the valuation allowance for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,002&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,827&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Decrease in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,002)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(825)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,002&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the total amounts of reserves for unrecognized tax benefits from uncertain tax positions (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,421&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,977&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,105&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases-tax positions in current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,141&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,421&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,977&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unrecognized tax benefits are recorded as a reduction to the deferred tax assets and liabilities.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2020 and 2019, we had no accrued interest and penalties related to uncertain income tax positions. We do not anticipate that the amount of unrecognized tax benefits will significantly increase or decrease within the next twelve months. </span></div>We are subject to taxation in the United States and various states. Due to the net operating loss carryforwards, our federal and state returns are open to examination by the Internal Revenue Service and state jurisdictions for all years since inception. We are not currently under audit by any taxing authorities.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377224840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Revenue and Other Information</a></td>
<td class="text">Revenue and Other Information<div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenue categories for the years ended December&#160;31, 2020, 2019 and 2018 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:63.269%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.043%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.043%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.046%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,938&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,549&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value+ services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,146&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,994&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,072&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,450&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">310,056&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,012&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,071&#160;</span></td><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"/></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our revenue is generated primarily from United States customers. All of our property and equipment is located in the United States.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375856760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Retirement Plans</a></td>
<td class="text">Retirement Plans We have a 401(k) retirement and savings plan made available to all employees. The 401(k) plan allows each participant to contribute up to an amount not to exceed an annual statutory maximum. We may, at our discretion, make matching contributions to the 401(k) plan. Cash contributions to the plan were $3.2&#160;million, $2.5 million, and $1.6 million for the years ended December&#160;31, 2020, 2019 and 2018, respectively.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=118257860&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=118255775&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380687880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Significant Accounting Policies and Reclassification</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reclassification</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We reclassified certain amounts in our Consolidated Balance Sheet in the prior year to confirm to the current year's presentation.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Consolidated Financial Statements include the operations of AppFolio, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. </span></div>Our investment in SecureDocs, Inc. (&#8220;SecureDocs&#8221;) is accounted for under the equity method of accounting as we have the ability to exert significant influence, but do not control and are not the primary beneficiary of the entity. Our investment in SecureDocs is not material and any income (loss) activity is not material individually or in the aggregate to our Consolidated Financial Statements for any period presented.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software development costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States. The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of December&#160;31, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of our Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our Consolidated Financial Statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our Consolidated Financial Statements.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Information</a></td>
<td class="text">Segment Information Our chief operating decision maker reviews financial information presented on an aggregated and consolidated basis, together with revenue information for our core solutions, Value+ and other service offerings, principally to make decisions about how to allocate resources and to measure our performance. Accordingly, management has determined that we have one reportable and operating segment.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Credit Risk</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject us to credit risk consist principally of cash, cash equivalents, restricted cash, accounts receivable, investment securities and notes receivable. We maintain cash balances at financial institutions in excess of amounts insured by United States government agencies or payable by the United States government directly. We place our cash with high credit, quality financial institutions. We invest in investment securities with a minimum rating of A by Standard &amp; Poor's or A-1 by Moody's and regularly monitor our investment security portfolio for changes in credit ratings.</span></div>Concentrations of credit risk with respect to accounts receivable and revenue are limited due to a large, diverse customer base.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value Measurements </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs. Accounting Standard Codification 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, describes a fair value hierarchy based on three levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following: </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Quoted prices in active markets for identical assets or liabilities or funds. </span></div><div style="margin-bottom:6pt;margin-top:3pt;padding-left:47.25pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. </span></div>Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash, Cash Equivalents and Restricted Cash</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Restricted Cash </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We consider all highly liquid investments, readily convertible to cash, and which have a remaining maturity date of three months or less at the date of purchase, to be cash equivalents. Cash and cash equivalents are recorded at fair value and consist primarily of bank deposits, treasury securities, and money market funds. </span></div>Restricted cash of $0.4 million at December&#160;31, 2020 and 2019, is comprised of certificates of deposits relating to collateral requirements for customer automated clearing house and credit card chargebacks and minimum collateral requirements for our insurance services, which are recorded in other long-term assets.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesPolicy', window );">Investment Securities</a></td>
<td class="text">Investment Securities<div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our investment securities currently consist of corporate bonds, United States government agency securities and treasury securities. We classify investment securities as available-for-sale at the time of purchase and reevaluate such classification at each balance sheet date. All investments are recorded at estimated fair value. Unrealized gains and losses for available-for-sale investment securities are included in accumulated other comprehensive income, a component of stockholders&#8217; equity. We classify our investments as current when the period of time between the reporting date and the contractual maturity is twelve months or less and as noncurrent when the period of time between the reporting date and the contractual maturity is more than twelve months.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#8217;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of December&#160;31, 2020.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text">Accounts Receivable Accounts receivable are recorded at the invoiced amount, net of an allowance for credit losses. The allowance for credit losses is based on historical loss experience, the number of days that receivables are past due, and an evaluation of the potential risk of loss associated with delinquent accounts. Accounts receivable considered uncollectible are charged against the allowance for credit losses when identified. We do not have any off-balance sheet credit exposure related to our customers.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is stated at cost, less accumulated depreciation. Depreciation is calculated using the straight-line method over the estimated useful lives of assets. The estimated useful lives of our property and equipment are as follows: </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.438%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.723%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:47.439%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Depreciation Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of remaining life of lease or asset life</span></td></tr></table></div>Repair and maintenance costs are expensed as incurred. Renewals and improvements are capitalized. Assets disposed of or retired are removed from the cost and accumulated depreciation accounts and any resulting gain or loss is reflected in our results of operations.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine if an arrangement is a lease at inception. Operating leases are included in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">prepaid expenses and other current assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease ROU assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">other current liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">operating lease liabilities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on our Consolidated Balance Sheets.&#160;Operating lease ROU assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments, over the lease term at commencement date. As none of our leases provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of future payments. The operating lease ROU assets also include any lease payments made to the lessor before or at the lease commencement date and excludes lease incentives received and initial direct costs incurred. Our lease terms may include options to extend the lease when it is reasonably certain that we will exercise that option. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease arrangements with lease and non-lease components, which are generally accounted for as a single lease component. Leases with an initial term of twelve months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InternalUseSoftwarePolicy', window );">Capitalized Software Development Costs</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capitalized Software Development Costs</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development cost consist of certain payroll and stock compensation costs incurred to develop functionality of our internal-use software solutions. We capitalize certain software development costs for new offerings as well as significant upgrades and enhancements to our existing software solutions. Capitalized software development costs are amortized using the straight-line method over an estimated useful life of three years. We do not transfer ownership of our software, license, or lease our software to third parties. We believe there are two key estimates within the capitalized software balance, which are the determination of the useful life of the software and the determination of the amounts to be capitalized.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determined that a three year life is appropriate for our internal-use software based on our best estimate of the useful life of the internally developed software after considering factors such as continuous developments in the technology, obsolescence and anticipated life of the service offering before significant upgrades. Based on our prior experience, internally generated software will generally remain in use for a minimum of three years before being significantly replaced or modified to keep up with evolving customer and company needs. While we do not anticipate any significant changes to this three year estimate, a change in this estimate could produce a material impact on our financial statements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine the amount of internal software costs to be capitalized based on the amount of time spent by our software engineers on projects. Costs associated with building or significantly enhancing our software solutions and new internally built software solutions are capitalized, while costs associated with planning new developments and maintaining our software solutions are expensed as incurred. There is judgment involved in estimating the stage of development as well as estimating time allocated to a particular project. A significant change in the time spent on each project could have a material impact on the amount capitalized and related amortization expense.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the estimated fair value of the net tangible and identifiable intangible assets acquired in business combinations. Goodwill is tested for impairment at least annually at the reporting unit level or at other times if an event occurs or circumstances change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the option to assess goodwill for possible impairment by performing a qualitative analysis to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. A quantitative assessment is performed if the qualitative assessment results in a more-likely-than-not determination or if a qualitative assessment is not performed. The quantitative assessment considers whether the carrying amount of a reporting unit exceeds its fair value, in which case an impairment charge is recorded to the extent that the reporting unit&#8217;s carrying value exceeds its fair value. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have one reporting unit and we test for goodwill impairment annually during the fourth quarter of the calendar year. Additionally, in connection with the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. Based on the assessments performed at September 30, 2020 and November 1, 2020, we determined it was unlikely that our reporting unit fair value was less than its carrying value and no quantitative impairment test assessment was required. There were no indicators that our goodwill has become impaired since that date, and as such, there was no impairment charges recorded.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No impairment losses were recorded for goodwill during the years ended December 31, 2020, 2019 and 2018. </span></div>Intangible assets primarily consist of acquired database and technology, non-compete agreements, customer and partner relationships, trademarks and trade names, domain names and patents, which are recorded at cost, less accumulated amortization. We determine the appropriate useful life of our intangible assets by performing an analysis of expected cash flows of the acquired assets. Intangible assets are amortized over their estimated useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text">Impairment of Long-Lived Assets We assess the recoverability of our long-lived assets when events or changes in circumstances indicate that the carrying value of an asset may not be recoverable or that the useful lives of those assets are no longer appropriate. An impairment charge would be recognized when the carrying amount of a long-lived asset or asset group is not recoverable and exceeds its fair value. The carrying amount of a long-lived asset or asset group is not recoverable if it exceeds the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset or asset group.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results of a business acquired in a business combination are included in our Consolidated Financial Statements from the date of acquisition. We allocate the purchase price, including the fair value of contingent consideration, to the identifiable assets and liabilities of the acquired business at their acquisition date fair values. The excess of the purchase price over the amount allocated to the identifiable assets and liabilities, if any, is recorded as goodwill. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies, estimates of future revenue and cash flows, discount rates and selection of comparable companies. We engage the assistance of valuation specialists in concluding on fair value measurements in connection with determining fair values of assets acquired and liabilities assumed in a business combination.</span></div>Acquisition-related transaction costs are not included as a component of consideration transferred, but are accounted for as an operating expense in the period in which the costs are incurred.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition, Deferred Cost, and Cost of Revenue</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generate revenue from our customers primarily for subscriptions to access our core solutions and Value+ services for our cloud-based software solutions. Revenue is recognized upon transfer of control of promised services in an amount that reflects the consideration we expect to receive in exchange for those services. We enter into contracts that can include various combinations of services, which are generally capable of being distinct, distinct within the context of the contract, and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. Refer to Note 15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue and Other Information</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for the disaggregated breakdown of revenue between core solutions, Value+ services and other revenue. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Core Solutions</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription basis for our core solutions. Our subscription fees are designed to scale to the size of our customers' businesses. Subscription fees for our core solutions are charged on a per-unit per-month basis for our property management software solution and on a per-user per-month basis for our legal software solution. Our customers do not have rights to the underlying software code of our solutions, and, accordingly, we recognize subscription revenue over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. The term of our core solutions subscription agreements typically ranges from one month to one year. We typically invoice our customers for subscription services in monthly or annual installments, in advance of the subscription period. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Value+ Services</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We charge our customers on a subscription or usage basis for our Value+ services. Subscription-based fees are charged on a per-unit basis. We typically invoice our customers for subscription-based services in monthly installments, in advance of the subscription period. We recognize revenue for subscription-based services over time on a straight-line basis over the contract term beginning on the date that our service is made available to the customer. Usage-based fees are charged on a flat rate per transaction basis with no minimum usage commitments. We recognize revenue for usage-based services in the period the service is rendered. We generally invoice our customers for usage-based services on a monthly basis for services rendered in the preceding month. In addition, some subscription or usage-based Value+ services, such as fees for electronic payment services, are paid by either our customers or clients of our customers at the time the services are rendered. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We work with third-party partners to provide certain of our Value+ services. For these Value+ services, we evaluate whether we are the principal, and report revenue on a gross basis, or the agent, and report revenue on a net basis. In this assessment we consider if we obtain control of the specified services before they are transferred to the customer, as well as other indicators such as whether we are the party primarily responsible for fulfillment, and whether we have discretion in establishing price.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other revenue include fees from one-time services related to the implementation of our software solutions and other recurring or one-time fees related to our customers who are not otherwise using our core solutions. This includes legacy customers of businesses we have acquired where the customers haven't migrated to our core solutions. The fees for implementation and data migration services are billed upon signing our core subscription contract and are not recognized until the core solution is accessible and fully functional for our customer's use. Other services are billed when the services rendered are completed and delivered to the customer or billed in advance and deferred over the subscription period.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contracts with Multiple Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of our contracts with customers contain multiple performance obligations. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require judgment. We account for individual performance obligations separately if they are distinct. The performance obligations for these contracts include access and use of our core solutions, implementation services, and customer support. Access and use of our core solutions and implementation services are considered distinct. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price is allocated to each performance obligation on a relative standalone selling price basis. Judgment is required to determine the standalone selling price for each distinct performance obligation. We typically have more than one standalone selling price for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we determine the standalone selling price based on our overall pricing objectives, taking into consideration customer demographics and other factors. Fees are fixed based on rates specified in the subscription agreements, which do not provide for any refunds or adjustments. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Deferred Revenue</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We record deferred revenue when cash payments are received in advance of our performance. During the twelve months ended December&#160;31, 2020 and 2019, we recognized revenue of $4.5 million and $3.4 million, respectively, that were included in the deferred revenue balances at December&#160;31, 2019 and 2018, respectively. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our payment terms vary by the type of our customer and the products or services offered. The time between invoicing and when payment is due is not significant. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined that our contracts do not include a significant financing component.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Practical Expedients</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In determining the transaction price, we have applied the practical expedient which allows us not to adjust the consideration for the effects of the time value of money as long as the time between when we transfer the promised service to a customer and when a customer pays is one year or less. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not disclose the value of unsatisfied performance obligations for contracts with an original expected term of one year or less.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in proportion to the amount we have the right to invoice for certain core solutions and Value+ services revenue, as that amount corresponds directly with our performance completed to date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Costs </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs, which primarily consist of sales commissions, are considered incremental and recoverable costs of obtaining a contract with a customer. These costs are deferred and then amortized on a straight-line basis over a period of benefit that we have determined to be three years. We typically do not pay commissions for contract renewals. We determined the period of benefit by taking into consideration our customer contract term, the useful life of our internal-use software, average customer life, and other factors. Amortization expense for the deferred costs is allocated based on the employee's department and included within</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sales and marketing expense in the accompanying Consolidated Statements of Operations. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue includes the fees paid to these third-party service providers (including legal fees and costs associated with the delivery and provision of those services, as well as loss reserves and other costs associated with our legal liability to landlord insurance services), which vary both in cost and as a percent of revenue for each Value+ service offering, personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on customer service and the support of our operations, platform infrastructure costs (such as data center operations and hosting-related costs), payment processing fees and allocated shared costs. Cost of revenue excludes depreciation of property and equipment, and amortization of capitalized software development costs and intangible assets.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock', window );">Sales and Marketing, General and Administrative</a></td>
<td class="text">Sales and Marketing Sales and marketing expense consists of personnel-related costs (including salaries, sales commissions, performance-based compensation, benefits, and stock-based compensation) for our employees focused on sales and marketing, costs associated with sales and marketing activities, and allocated shared and other costs. Marketing activities include advertising, online lead generation, lead nurturing, customer and industry events, and the creation of industry-related content and collateral. Sales commissions and other incremental costs to acquire customers and grow adoption and utilization of our Value+ services by our new and existing customers are deferred and then amortized on a straight-line basis over a period of benefit, which we have determined to be three years. We focus our sales and marketing efforts on generating awareness of our software solutions, creating sales leads, establishing and promoting our brands, and cultivating an educated community of successful and vocal customers. <div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expense consists of personnel-related costs (including salaries, a majority of total performance-based compensation, benefits, and stock-based compensation) for employees in our executive, finance, information technology, human resources, legal, compliance, corporate development and administrative organizations. In addition, general and administrative expense includes fees for third-party professional services (including audit, legal, compliance, tax, and consulting services), transaction costs related to business combinations and divestitures, regulatory fines and penalties, other corporate expenses, and allocated shared costs.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Product Development</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Product Development </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and product development expense consists of personnel-related costs (including salaries, performance-based compensation, benefits, and stock-based compensation) for our employees focused on research and product development, fees for third-party development resources, and allocated shared and other costs. Our research and product development efforts are focused on enhancing functionality and the ease of use of our existing software solutions by adding new core functionality, Value+ services and other improvements, as well as developing new products and services for new and existing markets. We capitalize our software development costs which meet the criteria for capitalization. Amortization of capitalized software development costs is included in depreciation and amortization expense.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock', window );">Depreciation and Amortization</a></td>
<td class="text">Depreciation and Amortization Depreciation and amortization expense includes depreciation of property and equipment, amortization of capitalized software development costs, and amortization of intangible assets. We depreciate or amortize property and equipment, software development costs, and intangible assets over their expected useful lives on a straight-line basis, which approximates the pattern in which the economic benefits of the assets are consumed.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsPolicyTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize stock-based compensation expense for stock-based awards granted to employees and directors that can be settled in shares of our common stock. We estimate the fair value of stock options and performance-based stock options ("PSOs"), using the Black-Scholes option-pricing model. We estimate the fair value of restricted stock awards ("RSAs"), restricted stock units ("RSUs") and performance-based RSUs or performance share units ("PSUs") based on the fair value of our common stock on the date of grant.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2020, 2019, and 2018 we did not grant time-based stock options or PSOs. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs generally vest in equal tranches over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV85Ny9mcmFnOjhlYTFlNDQ2MDJjODRlZGQ4MGNkMTE5MmVkYTQxMTdhL3RleHRyZWdpb246OGVhMWU0NDYwMmM4NGVkZDgwY2QxMTkyZWRhNDExN2FfMjk4OTM_373b3e65-6783-4f52-baa6-3662f8cea7f0">four</span> annual periods and are expensed on a straight-line basis over the vesting period. The shares underlying the RSU grants are not issued and outstanding until the applicable vesting date. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance-Based Equity Awards </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our PSUs include performance conditions that require us to estimate the probable outcome of the performance condition. This assessment is based on management's judgment using internally developed forecasts and assessed at each reporting period. Compensation cost is recorded if it is probable that the performance condition will be achieved. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. PSUs will vest upon achievement of the relevant performance metric once such calculation is reviewed and approved by our Board of Directors. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Forfeiture Rate</span></div>We estimate a forfeiture rate to calculate our stock-based compensation expense for our stock-based awards. The forfeiture rate is based on an analysis of actual forfeitures. We will continue to evaluate the appropriateness of the forfeiture rate based on actual forfeiture experience, analysis of employee turnover, and other factors. Changes in the estimated forfeiture rate can have a significant impact on our stock-based compensation expense as the cumulative effect of adjusting the rate is recognized in the period the estimated forfeiture rate is changed. If a revised forfeiture rate is higher than the previously-estimated forfeiture rate, an adjustment is made that will result in a decrease to our stock-based compensation expense recognized in our Consolidated Financial Statements. If a revised forfeiture rate is lower than the previously-estimated forfeiture rate, an adjustment is made that will result in an increase to our stock-based compensation expense recognized in our Consolidated Financial Statements.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize deferred tax liabilities and assets for the expected future tax consequences of temporary differences between the carrying amounts and the tax bases of assets and liabilities. Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in the Consolidated Statements of Operations in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. In evaluating the need for a valuation allowance, management considers the weighting of all available positive and negative evidence, which includes, among other things, the nature, frequency and severity of current and cumulative taxable income or losses, future projections of profitability, and the duration of statutory carryforward periods.</span></div>Judgment is required to measure the amount of tax benefits that can be recognized associated with uncertain tax positions. We recognize the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in our Consolidated Financial Statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized. We recognize interest and penalties accrued with respect to uncertain tax positions, if any, in our provision for income taxes in the Consolidated Statements of Operations.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income per Share</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income per Share</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share includes no dilution and is computed by dividing net income for the period by the weighted average number of common shares outstanding during the period. Diluted net income per share is computed by dividing net income for the period by the weighted average number of shares of common stock and potentially dilutive common stock outstanding during the period. The dilutive effect of outstanding options and equity incentive awards is reflected in diluted net income per share by application of the treasury stock method. The calculation of diluted net income per share excludes all anti-dilutive common shares.</span></div>The net income per common share was the same for our Class A and Class B common shares because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements and Recent Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2018</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2014, the Financial Accounting Standards Board ("FASB") issued the New Revenue Standard, which requires an entity to recognize the amount of revenue to which it expects to be entitled for the transfer of promised goods or services to customers. The New Revenue Standard also includes Subtopic 340-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Assets and Deferred Costs - Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which discusses the deferral of incremental costs of obtaining a contract with a customer.  </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted the New Revenue Standard at January 1, 2018 using the modified retrospective transition method applied to those contracts which were not completed at that date. We recognized the cumulative effect of initially applying the New Revenue Standard as an adjustment to the opening balance of retained earnings. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of the New Revenue Standard did not have an impact on our revenues. It did, however, have a significant impact related to the deferral of incremental costs of obtaining contracts. Prior to the adoption of the New Revenue Standard, our commissions were expensed as incurred. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.894%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2017</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,546&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,238&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,816&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,054&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67,247)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,964&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64,283)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2019</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2016, the FASB issued ASU No. 2016-02, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ("ASU 2016-02"), which requires an entity to recognize ROU assets and lease liabilities on its balance sheet and disclose key information about leasing arrangements. ASU 2016-02 offers specific accounting guidance for a lessee, a lessor and sale and leaseback transactions. Lessees and lessors are required to disclose qualitative and quantitative information about leasing arrangements to enable a user of the financial statements to assess the amount, timing and uncertainty of cash flows arising from leases. In July&#160;2018, the FASB issued ASU No. 2018-11, Leases (Topic 842): Targeted Improvements ("ASU 2018-11"). Among other things, ASU 2018-11 provides administrative relief by allowing entities to implement the lease standard on a modified retrospective basis (the "Optional Transition Method"). Effectively, the Optional Transition Method permits us to adopt the lease standard through a cumulative effect adjustment to our opening balance sheet as of January 1, 2019, and report under the new lease standard on a post-adoption basis. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We adopted ASU 2016-02 effective January 1, 2019, using the Optional Transition Method. We elected the package of practical expedients permitted under the transition guidance, which allows us to carry forward our historical lease classification, our assessment of whether a contract is or contains a lease, and our initial direct costs for any leases that existed prior to adoption of the new lease standard. The comparative information has not been recast and continues to be reported under the accounting standards in effect for those periods. We updated our accounting policies, processes, internal controls and information systems that were required to meet the new lease standard's reporting and disclosure requirements.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The adoption of ASU 2016-02 had a material impact on our Consolidated Balance Sheets, but did not have an impact on our Consolidated Statements of Operations or our Consolidated Statements of Cash Flows. The most significant impact was the recognition of ROU assets and lease liabilities for operating leases.&#160;We also reclassified prepaid and deferred rent to the ROU asset balance as of January 1, 2019.</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.958%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2018</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(317)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Adopted in 2020</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued Accounting Standards Update ("ASU") No. 2016-13,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, the FASB issued ASU No. 2018-15,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#160;Intangibles&#8212;Goodwill and Other&#8212;Internal-Use Software (Subtopic 350-40): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. </span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In December 2019, the FASB issued ASU No. 2019-12,&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances.  Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18726-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108315417&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for depreciation, depletion, and amortization of property and equipment costs, including methods used and estimated useful lives and how impairment of such assets is assessed and recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116657188&amp;loc=SL116659661-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e32280-109318<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InternalUseSoftwarePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs incurred when both (1) the software is acquired, internally developed, or modified solely to meet the entity's internal needs, and (2) during the software's development or modification, no substantive plan exists or is being developed to market the software externally.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 40<br> -Section 30<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118172244&amp;loc=d3e17916-109280<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 50<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=16397303&amp;loc=d3e19379-109286<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InternalUseSoftwarePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918666-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment classified as marketable security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120252992&amp;loc=d3e62652-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e4975-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5212-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=SL6953423-111524<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5093-111524<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121611835&amp;loc=d3e5033-111524<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377378088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Estimated Useful Lives of Property and Equipment</a></td>
<td class="text">The estimated useful lives of our property and equipment are as follows: <table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.438%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.723%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:47.439%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Depreciation Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of remaining life of lease or asset life</span></td></tr></table><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:70.349%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Data center and computer equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,597&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,983&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,021&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,953&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,511&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,387&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,072)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,643)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total property and equipment, net</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,439&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,744&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Schedule of Weighted Average Number of Shares</a></td>
<td class="text">The following table presents a reconciliation of our weighted average number of Class A and Class B common shares used to compute net income per share (in thousands):<table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:69.281%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.284%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.284%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.285%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,269&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,020&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,139&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Weighted average unvested restricted shares subject to repurchase</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,264&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,016&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,128&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,016&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,128&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,449&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,551&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,434&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common shares outstanding; diluted</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,713&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,567&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,562&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Schedule of Impact of Adoption of New Revenue Standard Impact on Financial Statements</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effects of the changes made to our Consolidated Balance Sheet at January 1, 2018 for the adoption of the New Revenue Standard were as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.894%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.969%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2017</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,546&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,238&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,816&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,054&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67,247)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,964&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64,283)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative effect of the changes made to our Consolidated Balance Sheet at January 1, 2019 for the adoption of the new lease standard was as follows (in thousands):</span></div><div style="margin-bottom:11pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.958%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.768%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.967%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>December 31, 2018</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at<br/>January 1, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(317)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=116846552&amp;loc=d3e765-108305<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=116846552&amp;loc=d3e725-108305<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377334392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>(Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Purchase Price Allocation</a></td>
<td class="text">The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:<table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:71.707%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.765%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.768%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amount <br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Useful Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">305&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identified intangible assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,730&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,110&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark &amp; trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreement</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,340&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,877&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued and other liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liability, net </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,711&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,759&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,208&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Schedule of Pro Forma Information</a></td>
<td class="text">The unaudited pro forma results are as follows (in thousands):<table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:71.707%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.765%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.768%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,047&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,339&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,937&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377322888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Schedule of Available-for-sale Securities</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment securities classified as available-for-sale consisted of the following at December&#160;31, 2020 and 2019 (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,104&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,847&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,951&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,026&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:5pt;margin-top:23pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,597&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,101&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,222&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,920&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,965&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Available-for-sale Investments, by Remaining Contract Maturity</a></td>
<td class="text"><div style="margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">At December&#160;31, 2020 and 2019, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investments, by remaining contractual maturity, are as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.131%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.964%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,197&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,846&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,876&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through three years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,754&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,074&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,089&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investment securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,951&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,026&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,920&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,965&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRealizedGainLossTableTextBlock', window );">Schedule of Sales and Maturities</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:23pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,600&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,878&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,827&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,711&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,330&#160;</span></td><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"/></tr></table></div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:98.840%"><tr><td style="width:1.0%"/><td style="width:42.155%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.538%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Gains</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Realized Losses</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Sales</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Proceeds from Maturities</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,350&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,625&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">685&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,750&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,660&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Fair Value, Assets Measured on Recurring Basis</a></td>
<td class="text">The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):<div style="margin-bottom:5pt;margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,076&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,208&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,570&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,732&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,302&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis</a></td>
<td class="text">The following tables present our financial assets and liabilities measured at fair value on a recurring basis at December&#160;31, 2020 and 2019, by level within the fair value hierarchy (in thousands):<div style="margin-bottom:5pt;margin-top:17pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,433&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,894&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,076&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,132&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,208&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:5pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.565%"><tr><td style="width:1.0%"/><td style="width:42.568%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.437%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.527%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.440%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total&#160;Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">337&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investment securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,570&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,732&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,302&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).  Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRealizedGainLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the proceeds from sales of available-for-sale securities and the gross realized gains and gross realized losses that have been included in earnings as a result of those sales.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRealizedGainLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377282440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property and Equipment, net</a></td>
<td class="text">The estimated useful lives of our property and equipment are as follows: <table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.438%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.723%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:47.439%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Depreciation Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of remaining life of lease or asset life</span></td></tr></table><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:70.349%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Data center and computer equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,597&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,983&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,021&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,953&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,511&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,387&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,072)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,643)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total property and equipment, net</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,439&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,744&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377289704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Costs, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock', window );">Schedule of Capitalized Computer Software</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs, net were as follows (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:69.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, gross</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,974&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(61,515)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,452)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized software development costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,023&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Scheduled of Future Amortization Expense</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future amortization expense with respect to capitalized software development costs at December&#160;31, 2020 is estimated as follows (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:84.258%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,668&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,459&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Capitalized Computer Software [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647381227976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net and Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following (in thousands, except years):</span></div><div style="margin-bottom:6pt;margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.856%"><tr><td style="width:1.0%"/><td style="width:32.137%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.871%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.874%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,840&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,550)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,787)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,543&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,539&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,641)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,890&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(732)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,158&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,964)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,436&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(70)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(240)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,021&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,664)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,357&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.3</span></td></tr></table></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"/><td style="width:31.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.894%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.041%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net&#160;Carrying<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted<br/>Average&#160;Useful<br/>Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,070&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,296)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,774&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Database</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,330&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(954)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,541&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,074)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks and trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,690&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(898)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,792&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Partner relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">680&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(680)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,484)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,916&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domain names</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(276)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Patents</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">470&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(470)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,734&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,357)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,377&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets Amortization Expense</a></td>
<td class="text">Future amortization expense with respect to intangible assets is estimated as follows (in thousands): <table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.712%"><tr><td style="width:1.0%"/><td style="width:82.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.520%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.463%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years Ending December 31,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,378&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total amortization expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,357&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text">The change in the carrying amount of goodwill during the twelve months ended December&#160;31, 2020 is as follows (in thousands):<table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.664%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.518%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.418%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,425&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill attributed to MyCase divestiture</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,278)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill at December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,147&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Finite-Lived Intangible Assets, Excluding Internal-Use Software Development, Future Amortization Expense [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647467933416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Employee Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock', window );">Schedule of Accrued Employee Expenses</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued employee expenses consisted of the following (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:69.975%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.381%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.708%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.526%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.710%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,554&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonuses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,638&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued commissions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,995&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,860&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,202&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll taxes and other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,270&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued employee expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,888&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,758&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Accrued Employee Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377215256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Components of Lease Expense</a></td>
<td class="text">Lease-related assets and liabilities were as follows (in thousands, except years and %): <table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:70.391%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,972&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,908&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_bdd3abe6-1716-4452-b1db-b9e30870ccde"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMDA2ZTNhZTQ2NTQ2MjZiNzFiNGRmNGE3YjcwNjJhL3NlYzo1ZDAwNmUzYWU0NjU0NjI2YjcxYjRkZjRhN2I3MDYyYV8xMjEvZnJhZzo0ZmVhZjM3N2VjMTg0YjQyYjhjMDI5ZWI4ZTE0NjQxNC90YWJsZTo5Y2E5ZmRlZWVmMDA0ZDBhYWU2NjFlYmEwYzExZTFkMC90YWJsZXJhbmdlOjljYTlmZGVlZWYwMDRkMGFhZTY2MWViYTBjMTFlMWQwXzUtMC0xLTEtMA_ebaea08b-e067-4426-8fbb-59b570f8f199">Other current liabilities</span></span></span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,826&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,146&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,312&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease liabilities</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,991&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,138&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (years)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Mininum Lease Payments Under Leases</a></td>
<td class="text">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2020 were as follows (in thousands): <div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:84.990%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Years ending December 31, </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(915)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,544&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,797&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,671&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,982&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,963)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,019&#160;</span></td><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"/></tr></table></div><div style="text-align:justify"><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">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments for the year ending December 31, 2021 are presented net of tenant improvement allowances of $4.8 million.</span></div><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">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total future minimum lease payments include the current portion of lease liabilities recorded in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Prepaid expenses and other current assets</span> of $4.0 million on our Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next twelve months.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647376103192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Summary of Long-term Debt</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of our long-term debt as of December&#160;31, 2020 and December&#160;31, 2019 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:69.617%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31,<br/>2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amounts due under Term Loan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized debt financing costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(167)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt, net of unamortized debt financing costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,583&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28541-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e),(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28551-108399<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21538-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377501208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Activity</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of our stock option activity for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"><tr><td style="width:1.0%"/><td style="width:53.219%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.394%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.397%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Exercise Price&#160;per&#160;Share</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual&#160;Life in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December&#160;31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,342&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.84&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.9</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(119)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.93&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options outstanding as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">At December&#160;31, 2020:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and expected to vest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercisable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Restricted Stock Units Activity</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSUs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:64.442%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.322%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.470%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52.42&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112.24&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(268)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36.58&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70.52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">483&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80.20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock', window );">Schedule of Restricted Stock Activity</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of activity in connection with our RSAs for the year ended December&#160;31, 2020 is as follows (number of shares in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.762%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.402%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number&#160;of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted- Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105.88&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105.88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379993928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Set forth below is a reconciliation of the components that caused our provision for income taxes to differ from amounts computed by applying the United States federal statutory rate for the years ended December&#160;31, 2020, 2019, and 2018: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. federal statutory income tax rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State and local income taxes, net of federal benefit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(53)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(88)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Meals and entertainment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(475)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other permanent differences</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for (benefit from) income taxes</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(652)</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit)</a></td>
<td class="text"><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for (benefit from) income tax consists of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,444&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,426&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">339&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,761)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;State and local</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,020&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,002&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,444)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision (benefit)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,428&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,459)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of deferred tax assets (liabilities) were as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:74.706%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,525&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,467&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,700&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,895&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,291&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,196&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,692&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,550&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,412)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,965)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,693)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,767)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,708)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,492)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,350)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,563)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,064)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,152)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(751)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,590)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29,978)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25,529)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax (liabilities) assets</span></td><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,428)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,574&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfValuationAllowanceTextBlock', window );">Summary of Valuation Allowance</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The change in the valuation allowance for the years ended December&#160;31, 2020, 2019 and 2018 was as follows (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,002&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,827&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Decrease in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,002)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(825)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance, at end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,002&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits Roll Forward</a></td>
<td class="text"><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the total amounts of reserves for unrecognized tax benefits from uncertain tax positions (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.243%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.631%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year&#160;Ended&#160;December&#160;31,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit beginning of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,421&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,977&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,105&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increases-tax positions in current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">872&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized tax benefit end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,141&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,421&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,977&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=121610041&amp;loc=d3e36027-109320<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647376092312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductInformationTableTextBlock', window );">Schedule of Product Information by Revenue Categories</a></td>
<td class="text"><div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenue categories for the years ended December&#160;31, 2020, 2019 and 2018 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:63.269%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.043%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.043%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.046%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2018</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Core solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,938&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,549&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value+ services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,146&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,994&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,072&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,450&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">310,056&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">256,012&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,071&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of product information that are included in the discussion of the nature of an entity's operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380410872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 310,056<span></span>
</td>
<td class="nump">$ 256,012<span></span>
</td>
<td class="nump">$ 190,071<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued operations, disposed of by sale | MyCase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary', window );">Ownership percentage in disposed subsidiary</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Consideration for disposal of subsidiary</a></td>
<td class="nump">$ 193,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain on sale of subsidiary</a></td>
<td class="nump">$ 187,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_SoftwareAndServicesOfferedToRealEstateVerticalMember', window );">Software and services offered to real estate vertical</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 284,700<span></span>
</td>
<td class="nump">$ 231,100<span></span>
</td>
<td class="nump">$ 172,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Ownership Percentage in Disposed Subsidiary</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_SoftwareAndServicesOfferedToRealEstateVerticalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_SoftwareAndServicesOfferedToRealEstateVerticalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379355528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Details)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>reportingUnit </div>
<div>segment </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | segment</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments | segment</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash included in other assets</a></td>
<td class="nump">$ 436,000<span></span>
</td>
<td class="nump">$ 434,000<span></span>
</td>
<td class="nump">$ 430,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForOtherCreditLosses', window );">Allowance for credit losses for available-for-sale investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLossNetOfTax', window );">Impairment losses for goodwill</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment charges related to the identified long-lived assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Deferred revenue recognized during the period</a></td>
<td class="nump">$ 4,500,000<span></span>
</td>
<td class="nump">3,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Amortization period of deferred cost</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Deferred costs</a></td>
<td class="nump">$ 10,300,000<span></span>
</td>
<td class="nump">9,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetCurrent', window );">Deferred costs, current</a></td>
<td class="nump">5,500,000<span></span>
</td>
<td class="nump">4,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetNoncurrent', window );">Deferred costs, noncurrent</a></td>
<td class="nump">4,800,000<span></span>
</td>
<td class="nump">4,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Amortization expense</a></td>
<td class="nump">5,800,000<span></span>
</td>
<td class="nump">4,200,000<span></span>
</td>
<td class="nump">2,000,000.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 7,000,000.0<span></span>
</td>
<td class="nump">$ 5,800,000<span></span>
</td>
<td class="nump">$ 4,500,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ContractTermSubscriptionAgreement', window );">Subscription agreement term</a></td>
<td class="text">1 month<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ContractTermSubscriptionAgreement', window );">Subscription agreement term</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Unvested restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember', window );">Performance shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Shares excluded from net loss per share attributable to common stockholders (in shares) | shares</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">187<span></span>
</td>
<td class="nump">358<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Capitalized software development costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives (in years)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_GoodwillMember', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportingUnits', window );">Number of reporting units | reportingUnit</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ContractTermSubscriptionAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract Term, Subscription Agreement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ContractTermSubscriptionAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131251-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of loss recognized that results from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForOtherCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to credit loss from transactions other than loan and lease transactions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForOtherCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_GoodwillMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_GoodwillMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647459533160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Property and Equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2020</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377757752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic', window );">Weighted average common shares outstanding (in shares)</a></td>
<td class="nump">34,269<span></span>
</td>
<td class="nump">34,020<span></span>
</td>
<td class="nump">34,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock', window );">Less: weighted average unvested restricted shares subject to repurchase (in shares)</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding; basic (in shares)</a></td>
<td class="nump">34,264<span></span>
</td>
<td class="nump">34,016<span></span>
</td>
<td class="nump">34,128<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Plus: weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)</a></td>
<td class="nump">1,449<span></span>
</td>
<td class="nump">1,551<span></span>
</td>
<td class="nump">1,434<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common shares outstanding; diluted (in shares)</a></td>
<td class="nump">35,713<span></span>
</td>
<td class="nump">35,567<span></span>
</td>
<td class="nump">35,562<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1707-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1500-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesIssuedBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121326447&amp;loc=d3e2646-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesRestrictedStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378573208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 20,777<span></span>
</td>
<td class="nump">$ 15,540<span></span>
</td>
<td class="nump">$ 11,458<span></span>
</td>
<td class="nump">$ 11,775<span></span>
</td>
<td class="nump">$ 5,694<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">6,213<span></span>
</td>
<td class="nump">6,276<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,054<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="nump">$ 150,369<span></span>
</td>
<td class="num">$ (8,034)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(64,283)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member', window );">Calculated under revenue guidance in effect before topic 606</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,546<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,238<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (67,247)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member', window );">Difference between revenue guidance in effect before and after topic 606 | Accounting standards update 2014-09</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,816<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=121370832&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647464054776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 20,777<span></span>
</td>
<td class="nump">$ 15,540<span></span>
</td>
<td class="nump">$ 11,458<span></span>
</td>
<td class="nump">$ 11,775<span></span>
</td>
<td class="nump">$ 5,694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">30,561<span></span>
</td>
<td class="nump">27,803<span></span>
</td>
<td class="nump">16,945<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquityAbstract', window );"><strong>Liabilities and Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">4,451<span></span>
</td>
<td class="nump">11,139<span></span>
</td>
<td class="nump">4,940<span></span>
</td>
<td class="nump">1,447<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 41,991<span></span>
</td>
<td class="nump">$ 36,138<span></span>
</td>
<td class="nump">20,056<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">159<span></span>
</td>
<td class="nump">$ 7,080<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member', window );">Accounting Standards Update 2016-02</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(317)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,945<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquityAbstract', window );"><strong>Liabilities and Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (6,921)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647464009864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Divestures and Business Combinations - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jan. 07, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Percentage of voting equity interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_BusinessCombinationConsiderationTotalPriorToAdjustments', window );">Total purchase consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 60.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_BusinessCombinationConsiderationTransferredEscrowAmount', window );">Amount retained to satisfy adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Acquisition costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember', window );">MyCase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware', window );">Capitalized software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.9<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember', window );">MyCase | Discontinued operations, disposed of by sale</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Consideration for disposal of subsidiary</a></td>
<td class="nump">$ 193.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries', window );">Proceeds from divestiture of subsidiary</a></td>
<td class="nump">192.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1', window );">Employee retention bonus pool</a></td>
<td class="nump">2.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashDivestedFromDeconsolidation', window );">Cash divested</a></td>
<td class="nump">0.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment', window );">Working capital adjustment</a></td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod', window );">Retention period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain on sale of subsidiary</a></td>
<td class="nump">$ 187.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation', window );">Assets divested</a></td>
<td class="nump">4.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware', window );">Capitalized software</a></td>
<td class="nump">3.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">2.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1', window );">Goodwill</a></td>
<td class="nump">2.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome', window );">Income received</a></td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_BusinessCombinationConsiderationTotalPriorToAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Total Prior To Adjustments</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_BusinessCombinationConsiderationTotalPriorToAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_BusinessCombinationConsiderationTransferredEscrowAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Escrow Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_BusinessCombinationConsiderationTransferredEscrowAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Capitalized Software</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Retention Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Working Capital Adjustment</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as assets attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashDivestedFromDeconsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reduction in cash due to no longer including the former subsidiary's cash in the consolidated entity's cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashDivestedFromDeconsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e957-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as deferred revenue attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount classified as goodwill attributable to disposal group held for sale or disposed of.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721533-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1107-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other income attributable to disposal group, including, but not limited to, discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash consideration received for selling an asset or business through a noncash (or part noncash) transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4304-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4332-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=121583591&amp;loc=d3e4313-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378957960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Business Combinations - Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 07, 2019</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 56,147<span></span>
</td>
<td class="nump">$ 58,425<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Net tangible assets</a></td>
<td class="nump">$ 305<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 20,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 42,877<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other noncurrent assets</a></td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Total assets acquired</a></td>
<td class="nump">63,967<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Accrued and other liabilities</a></td>
<td class="nump">48<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability, net</a></td>
<td class="nump">3,711<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities', window );">Total liabilities assumed</a></td>
<td class="nump">3,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase consideration</a></td>
<td class="nump">60,208<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 5,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Database</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 4,710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 1,110<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Trademark &amp; trade name</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 1,390<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member', window );">Dynasty Marketplace, Inc. | Non-compete agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Identified intangible assets</a></td>
<td class="nump">$ 7,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated Useful Life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=121600890&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121647850&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=appf_DynastyMarketplaceInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377492552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations - Pro Forma Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Revenue</a></td>
<td class="nump">$ 256,047<span></span>
</td>
<td class="nump">$ 193,405<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 32,339<span></span>
</td>
<td class="nump">$ 5,937<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647385078440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Investment Securities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">$ 34,951<span></span>
</td>
<td class="nump">$ 34,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">76<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">$ 35,026<span></span>
</td>
<td class="nump">$ 34,965<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_AvailableForSaleSecuritiesMaximumContractualMaturity', window );">Investment contractual maturities</a></td>
<td class="text">36 months<span></span>
</td>
<td class="text">36 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost', window );">Amortized cost, due in one year or less</a></td>
<td class="nump">$ 28,197<span></span>
</td>
<td class="nump">$ 22,846<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Estimated fair value, due in one year or less</a></td>
<td class="nump">28,256<span></span>
</td>
<td class="nump">22,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost', window );">Amortized cost, due after one year through three years</a></td>
<td class="nump">6,754<span></span>
</td>
<td class="nump">12,074<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue', window );">Estimated fair value, due after one year through three years</a></td>
<td class="nump">6,770<span></span>
</td>
<td class="nump">12,089<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,597<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">17,104<span></span>
</td>
<td class="nump">11,101<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">29<span></span>
</td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(1)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">17,132<span></span>
</td>
<td class="nump">11,118<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">17,847<span></span>
</td>
<td class="nump">14,222<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">47<span></span>
</td>
<td class="nump">12<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Estimated Fair Value</a></td>
<td class="nump">$ 17,894<span></span>
</td>
<td class="nump">$ 14,233<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_AvailableForSaleSecuritiesMaximumContractualMaturity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-For-Sale Securities, Maximum Contractual Maturity</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_AvailableForSaleSecuritiesMaximumContractualMaturity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27198-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27198-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120252992&amp;loc=SL120269850-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27198-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120252992&amp;loc=SL120269850-112803<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27198-111563<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378424248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Sales and Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="nump">$ 35<span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="nump">16,711<span></span>
</td>
<td class="nump">2,750<span></span>
</td>
<td class="nump">$ 20,900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="nump">27,330<span></span>
</td>
<td class="nump">15,660<span></span>
</td>
<td class="nump">$ 32,819<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="nump">4,006<span></span>
</td>
<td class="nump">2,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="nump">5,600<span></span>
</td>
<td class="nump">11,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="nump">25<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="nump">7,878<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="nump">1,900<span></span>
</td>
<td class="nump">3,625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross Realized Gains</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross Realized Losses</a></td>
<td class="num">(2)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt', window );">Gross Proceeds from Sales</a></td>
<td class="nump">4,827<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Gross Proceeds from Maturities</a></td>
<td class="nump">$ 19,830<span></span>
</td>
<td class="nump">$ 685<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3151-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647386306200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization and accretion of premium and discount</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Estimate of fair value measurement | Term loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Fair value of term loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Estimate of fair value measurement | Credit facility | Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Fair value of term loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121572278&amp;loc=d3e13433-108611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379689320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investment Securities and Fair Value Measurements - Fair Value Measurements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">$ 35,026<span></span>
</td>
<td class="nump">$ 34,965<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember', window );">Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,132<span></span>
</td>
<td class="nump">11,118<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,894<span></span>
</td>
<td class="nump">14,233<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">137,208<span></span>
</td>
<td class="nump">35,302<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,132<span></span>
</td>
<td class="nump">11,118<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,894<span></span>
</td>
<td class="nump">14,233<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">4,749<span></span>
</td>
<td class="nump">337<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">97,433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">120,076<span></span>
</td>
<td class="nump">14,570<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,894<span></span>
</td>
<td class="nump">14,233<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">4,749<span></span>
</td>
<td class="nump">337<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;1 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">97,433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">17,132<span></span>
</td>
<td class="nump">20,732<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">17,132<span></span>
</td>
<td class="nump">11,118<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level&#160;2 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3 | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3 | Agency securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Available-for-sale investment securities:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair value, measurements, recurring | Level 3 | Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents:</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121558606&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121553693&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=121645371&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AgencySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379875128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">$ 37,511<span></span>
</td>
<td class="nump">$ 26,387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation</a></td>
<td class="num">(11,072)<span></span>
</td>
<td class="num">(11,643)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Total property and equipment, net</a></td>
<td class="nump">26,439<span></span>
</td>
<td class="nump">14,744<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense on property and equipment</a></td>
<td class="nump">4,000<span></span>
</td>
<td class="nump">3,100<span></span>
</td>
<td class="nump">$ 2,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_DataCenterAndComputerEquipmentMember', window );">Data center and computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">4,597<span></span>
</td>
<td class="nump">7,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">6,021<span></span>
</td>
<td class="nump">3,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">3,324<span></span>
</td>
<td class="nump">1,141<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">22,952<span></span>
</td>
<td class="nump">6,192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in process</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="nump">$ 617<span></span>
</td>
<td class="nump">$ 7,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_FurnitureAndFixturesAndLeaseholdImprovementsMember', window );">Furniture and fixtures and leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Gross property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,900<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_DataCenterAndComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_DataCenterAndComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_FurnitureAndFixturesAndLeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_FurnitureAndFixturesAndLeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380382088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Capitalized Software Development Costs, net - Software Development Costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Capitalized software development costs, gross</a></td>
<td class="nump">$ 96,974<span></span>
</td>
<td class="nump">$ 81,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization', window );">Less: Accumulated amortization</a></td>
<td class="num">(61,515)<span></span>
</td>
<td class="num">(51,452)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">$ 35,459<span></span>
</td>
<td class="nump">$ 30,023<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647384073528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capitalized Software Development Costs, net - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAdditions', window );">Capitalized software development costs during the period</a></td>
<td class="nump">$ 27.3<span></span>
</td>
<td class="nump">$ 23.6<span></span>
</td>
<td class="nump">$ 13.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAmortization1', window );">Amortization expense with respect to software development costs during the period</a></td>
<td class="nump">17.9<span></span>
</td>
<td class="nump">$ 14.0<span></span>
</td>
<td class="nump">$ 11.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember', window );">MyCase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware', window );">Capitalized software</a></td>
<td class="nump">$ 3.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued operations, disposed of by sale | MyCase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware', window );">Capitalized software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.9<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operation, Capitalized Software</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additions made to capitalized computer software costs during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAmortization1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for amortization of capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128487-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAmortization1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377304376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Capitalized Software Development Costs, net - Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne', window );">2021</a></td>
<td class="nump">$ 18,008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo', window );">2022</a></td>
<td class="nump">12,783<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree', window );">2023</a></td>
<td class="nump">4,668<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Capitalized software development costs, net</a></td>
<td class="nump">$ 35,459<span></span>
</td>
<td class="nump">$ 30,023<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year One</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year Three</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Capitalized Computer Software, Amortization Expense, Year Two</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647384649736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 28,021<span></span>
</td>
<td class="nump">$ 33,734<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(11,664)<span></span>
</td>
<td class="num">(12,357)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 16,357<span></span>
</td>
<td class="nump">$ 21,377<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_WeightedAverageMember', window );">Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">6 years 3 months 18 days<span></span>
</td>
<td class="text">6 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 2,840<span></span>
</td>
<td class="nump">$ 3,070<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,550)<span></span>
</td>
<td class="num">(1,296)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 1,290<span></span>
</td>
<td class="nump">$ 1,774<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember', window );">Database</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 8,330<span></span>
</td>
<td class="nump">$ 8,330<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,787)<span></span>
</td>
<td class="num">(954)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 6,543<span></span>
</td>
<td class="nump">$ 7,376<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember', window );">Database | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember', window );">Technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 6,539<span></span>
</td>
<td class="nump">$ 10,541<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(3,641)<span></span>
</td>
<td class="num">(6,074)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 2,898<span></span>
</td>
<td class="nump">$ 4,467<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember', window );">Technology | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and trade names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 1,890<span></span>
</td>
<td class="nump">$ 2,690<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(732)<span></span>
</td>
<td class="num">(898)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 1,158<span></span>
</td>
<td class="nump">$ 1,792<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and trade names | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">6 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember', window );">Partner relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 680<span></span>
</td>
<td class="nump">$ 680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(680)<span></span>
</td>
<td class="num">(680)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember', window );">Partner relationships | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 7,400<span></span>
</td>
<td class="nump">$ 7,400<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,964)<span></span>
</td>
<td class="num">(1,484)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 4,436<span></span>
</td>
<td class="nump">$ 5,916<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember', window );">Domain names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 90<span></span>
</td>
<td class="nump">$ 301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(70)<span></span>
</td>
<td class="num">(276)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 20<span></span>
</td>
<td class="nump">$ 25<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember', window );">Domain names | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="nump">$ 252<span></span>
</td>
<td class="nump">$ 252<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(240)<span></span>
</td>
<td class="num">(225)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 12<span></span>
</td>
<td class="nump">$ 27<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember', window );">Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross&#160;Carrying Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(470)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember', window );">Backlog | Weighted Average</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average&#160;Useful Life in Years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_WeightedAverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_WeightedAverageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_DatabaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_TechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=appf_PartnerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InternetDomainNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647490083096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net and Goodwill - Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets</a></td>
<td class="nump">$ 4,900<span></span>
</td>
<td class="nump">$ 5,300<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2021</a></td>
<td class="nump">4,646<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2022</a></td>
<td class="nump">4,605<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2023</a></td>
<td class="nump">3,060<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2024</a></td>
<td class="nump">835<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2025</a></td>
<td class="nump">833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">2,378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net&#160;Carrying Value</a></td>
<td class="nump">$ 16,357<span></span>
</td>
<td class="nump">$ 21,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380139240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, net and Goodwill - Goodwill (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Impairment of goodwill</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill at December 31, 2019</a></td>
<td class="nump">58,425,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill attributed to MyCase divestiture</a></td>
<td class="num">(2,278,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill at December 31, 2020</a></td>
<td class="nump">$ 56,147,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647459361544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Employee Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Accrued vacation</a></td>
<td class="nump">$ 8,277<span></span>
</td>
<td class="nump">$ 5,554<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Accrued bonuses</a></td>
<td class="nump">5,638<span></span>
</td>
<td class="nump">3,872<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Accrued commissions</a></td>
<td class="nump">1,995<span></span>
</td>
<td class="nump">1,860<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Accrued payroll</a></td>
<td class="nump">1,921<span></span>
</td>
<td class="nump">5,202<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedPayrollTaxesCurrent', window );">Accrued payroll taxes and other</a></td>
<td class="nump">1,057<span></span>
</td>
<td class="nump">1,270<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued employee expenses</a></td>
<td class="nump">$ 18,888<span></span>
</td>
<td class="nump">$ 17,758<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121566466&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378919320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 17, 2020 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 01, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseRenewalTerm', window );">Lease renewal term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,300<span></span>
</td>
<td class="nump">$ 5,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,400<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseAndRentalExpense', window );">Operating rental expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total commitment under lease</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41,991<span></span>
</td>
<td class="nump">$ 36,138<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 20,056<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_RichardsonTexasMember', window );">Richardson, Texas</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea', window );">Leased area (sq ft) | ft&#178;</a></td>
<td class="nump">23,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total commitment under lease</a></td>
<td class="nump">$ 11,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">11 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseSquareFeetOfLeasedArea">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Square Feet Of Leased Area</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseSquareFeetOfLeasedArea</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseAndRentalExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseAndRentalExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121576215&amp;loc=SL77919359-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_RichardsonTexasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=appf_RichardsonTexasMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380946360">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Components of Lease expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 3,972<span></span>
</td>
<td class="nump">$ 3,908<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">$ 30,561<span></span>
</td>
<td class="nump">$ 27,803<span></span>
</td>
<td class="nump">$ 16,945<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">us-gaap:OtherLiabilitiesCurrent<span></span>
</td>
<td class="text">us-gaap:OtherLiabilitiesCurrent<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAbstract', window );"><strong>Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Other current liabilities</a></td>
<td class="nump">$ 1,845<span></span>
</td>
<td class="nump">$ 2,826<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">40,146<span></span>
</td>
<td class="nump">33,312<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 41,991<span></span>
</td>
<td class="nump">$ 36,138<span></span>
</td>
<td class="nump">$ 20,056<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted-average remaining lease term (years)</a></td>
<td class="text">10 years 9 months 18 days<span></span>
</td>
<td class="text">10 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate</a></td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">4.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Prepaid Expenses And Other Current Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>srt-types:extensibleListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=121568110&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379985336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Minimum Lease payments Under Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2021</a></td>
<td class="num">$ (915,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2022</a></td>
<td class="nump">4,544,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2023</a></td>
<td class="nump">4,845,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2024</a></td>
<td class="nump">4,797,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2025</a></td>
<td class="nump">4,671,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">32,040,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">49,982,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(11,963,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion', window );">Total commitment under lease</a></td>
<td class="nump">38,019,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_TenantImprovementAllowance', window );">Tenant Improvement Allowance</a></td>
<td class="nump">4,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of lease liabilities</a></td>
<td class="nump">1,845<span></span>
</td>
<td class="nump">$ 2,826<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of lease liabilities</a></td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, Net Of Current Portion</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_TenantImprovementAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tenant Improvement Allowance</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_TenantImprovementAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121609121&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121603541&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377650808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-term Debt (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 24, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 29, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Capitalized deferred financing costs</a></td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio', window );">EBITDA to interest expense ratio</a></td>
<td class="nump">3.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio', window );">Funded indebtedness to EBITDA ratio</a></td>
<td class="nump">3.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio', window );">Annual decrease in required leverage ratio</a></td>
<td class="nump">0.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio', window );">Required leverage ratio</a></td>
<td class="nump">2.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts', window );">Floor plus 20% of the sum of the combined outstanding principal amounts</a></td>
<td class="nump">$ 20,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate', window );">Acquisition purchase price floor for 0.5 increase in required leverage ratio for 12 month period following the close date</a></td>
<td class="nump">$ 20,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Capitalized deferred financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Federal funds rate | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Variable rate, basis spread percent</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Federal funds rate | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Variable rate, basis spread percent</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | LIBOR | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Variable rate, basis spread percent</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | LIBOR | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Variable rate, basis spread percent</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Term loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amounts due under Term Loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 48,100,000<span></span>
</td>
<td class="nump">48,750,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Capitalized deferred financing costs</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">$ 50,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCommitmentFeePercentage', window );">Commitment fee percentage</a></td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage', window );">Commitment fee, usage threshold for 37.5 basis points commitment fee, percentage</a></td>
<td class="nump">$ 30,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Unused capacity, commitment fee percentage</a></td>
<td class="nump">0.375%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amounts due under Term Loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Capitalized deferred financing costs</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Capitalized deferred financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Commitment Fee, Usage Threshold For 37.5 Basis Points Commitment Fee, Percentage</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, Acquisition Purchase Price Floor For 0.5 Increase In Required Leverage Ratio For 12 Month Period Following The Close Date</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, Annual Decrease In Required Leverage Ratio</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, EBITDA To Interest Expense Ratio</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, Floor Plus 20 Percent Of The Sum Of the Combined Outstanding Principal Amounts</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, Funded Indebtedness To EBITDA Ratio</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-term Debt, Covenant Restrictions, Required Leverage Ratio</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unamortized debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379630872">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-term Debt - Summary of Long-tem Debt (Details) - Term loan - Credit facility - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 29, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amounts due under Term Loan</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 48,100<span></span>
</td>
<td class="nump">$ 48,750<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Unamortized debt financing costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(167)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt, net of unamortized debt financing costs</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,583<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=119993939&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120520924&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_SecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_SecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647464017336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitment and Contingencies - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit', window );">Per incident policy limit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage', window );">Quota share of tenant liability insurance provided, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingencyEstimateOfPossibleLoss', window );">Estimate of possible loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Loss contingency accrual</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForLegalSettlements', window );">Ultimate settlement amount</a></td>
<td class="nump">$ 4,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember', window );">Other current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability', window );">Liability for reported claims and claims incurred but not reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,800,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember', window );">Other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices', window );">Deposits held with a third party related to insurance services collateral</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount needed to reflect the estimated ultimate cost of settling claims relating to casualty insurance insured events that have occurred on or before a particular date (ordinarily, the balance sheet date) and the amount needed to provide for the estimated ultimate cost required to investigate and settle claims relating to insured events that have occurred on or before a particular date (ordinarily, the balance sheet date), whether or not reported to the insurer at that date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (cc)<br> -URI http://asc.fasb.org/extlink&amp;oid=116884095&amp;loc=d3e14764-158437<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116884095&amp;loc=d3e14764-158437<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss contingency liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyEstimateOfPossibleLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reflects the estimated amount of loss from the specified contingency as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14435-108349<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14557-108349<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121555522&amp;loc=d3e12021-110248<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyEstimateOfPossibleLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForLegalSettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid for the settlement of litigation or for other legal issues during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForLegalSettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of risk reinsured on insurance products per entity policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380123656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jun. 25, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalUnitsAuthorized', window );">Capital stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">325,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock | Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock | Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember', window );">Preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalUnitsAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of authorized capital units or capital shares. This element is relevant to issuers of face-amount certificates and registered investment companies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04.16(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120401414&amp;loc=d3e603758-122996<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalUnitsAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647375779704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>vote</div>
</th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConversionOfStockByUniqueDescriptionAxis=appf_CommonClassBToCommonClassAMember', window );">Common Class B To Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ConversionOfStockNumberOfSharesIssuableUponConversion', window );">Number of shares to be issued per share upon conversion (in shares)</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer', window );">Number of shares to be issued per share upon automatic conversion (in shares)</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CommonStockAutomaticConversionThreshold', window );">Automatic conversion threshold as a percent of Class B common stock</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CommonStockNumberOfVotesPerShare', window );">Common stock, number of votes</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Class B common stock</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_CommonStockNumberOfVotesPerShare', window );">Common stock, number of votes</a></td>
<td class="nump">10<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CommonStockAutomaticConversionThreshold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Automatic Conversion Threshold</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CommonStockAutomaticConversionThreshold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_CommonStockNumberOfVotesPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Number Of Votes Per Share</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_CommonStockNumberOfVotesPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ConversionOfStockNumberOfSharesIssuableUponConversion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Conversion Of Stock, Number Of Shares Issuable Upon Conversion</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ConversionOfStockNumberOfSharesIssuableUponConversion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Conversion Of Stock, Number Of Shares Issuable Upon Conversion Due To Transfer</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockByUniqueDescriptionAxis=appf_CommonClassBToCommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockByUniqueDescriptionAxis=appf_CommonClassBToCommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380064376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Preferred Stock (Details) - shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jun. 25, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377476808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Share Repurchase Program (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Feb. 20, 2019 </div>
<div>USD ($) </div>
<div>director</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized amount under share repurchase program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases', window );">Number of directors to authorized repurchases | director</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Repurchased shares (in shares) | shares</a></td>
<td class="nump">48,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Reduction in stockholders' equity</a></td>
<td class="nump">$ 4,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, Number Of Directors To Authorize Repurchases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379946824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Stock Option Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of options exercised</a></td>
<td class="nump">$ 17.9<span></span>
</td>
<td class="nump">$ 11.5<span></span>
</td>
<td class="nump">$ 7.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of options outstanding</a></td>
<td class="nump">196.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Excess tax benefit</a></td>
<td class="nump">30.1<span></span>
</td>
<td class="nump">20.5<span></span>
</td>
<td class="nump">7.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_EmployeeStockOptionsAndPerformanceStockOptionsMember', window );">Employee stock options and performance stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0.0<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=appf_TwoThousandFifteenStockIncentivePlanMember', window );">2015 Stock incentive plan | Employee stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Maximum term of stock options granted</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember', window );">2017 Performance metric, targeted free cash flow performance metric | PSOs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">PSOs vested (in shares)</a></td>
<td class="nump">77,000<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric', window );">Percent of achievement of award target performance metric</a></td>
<td class="nump">95.00%<span></span>
</td>
<td class="nump">115.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Class A common stock | 2015 Stock incentive plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance', window );">Aggregate number of shares reserved for stock incentive plan</a></td>
<td class="nump">4,026,493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common shares reserved for future issuance related to deferred compensation arrangements with individuals.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options vested.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_EmployeeStockOptionsAndPerformanceStockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_EmployeeStockOptionsAndPerformanceStockOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=appf_TwoThousandFifteenStockIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=appf_TwoThousandFifteenStockIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647378060600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Stock Option Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, beginning balance (shares)</a></td>
<td class="nump">1,342,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Options granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Options exercised (shares)</a></td>
<td class="num">(119,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Options canceled/forfeited (shares)</a></td>
<td class="num">(55,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, ending balance (shares)</a></td>
<td class="nump">1,168,000<span></span>
</td>
<td class="nump">1,342,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Options vested of expected to vest (shares)</a></td>
<td class="nump">1,168,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options exercisable (shares)</a></td>
<td class="nump">1,168,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, beginning balance (usd per share)</a></td>
<td class="nump">$ 11.84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Options granted (usd per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Options exercised (usd per share)</a></td>
<td class="nump">6.93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Options canceled/forfeited (usd per share)</a></td>
<td class="nump">23.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, ending balance (usd per share)</a></td>
<td class="nump">11.77<span></span>
</td>
<td class="nump">$ 11.84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Options vested and expected to vest, weighted average exercise price (usd per share)</a></td>
<td class="nump">11.77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable, weighted average exercise price (usd per share)</a></td>
<td class="nump">$ 11.77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Options outstanding, weighted average remaining contractual life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested or expected to vest, weighted average remaining contractual life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Options exercisable, weighted average remaining contractual life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647386204536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Units (Details) - RSUs and PSUs<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, beginning balance (in shares) | shares</a></td>
<td class="nump">646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">174<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="num">(268)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares) | shares</a></td>
<td class="num">(69)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, ending balance (in shares) | shares</a></td>
<td class="nump">483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, beginning balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 52.42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (usd per share) | $ / shares</a></td>
<td class="nump">112.24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (usd per share) | $ / shares</a></td>
<td class="nump">36.58<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (usd per share) | $ / shares</a></td>
<td class="nump">70.52<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, ending balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 80.20<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647384500248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Units Narrative (Details) - USD ($)<br> shares in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember', window );">RSUs and PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">268<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 10.4<span></span>
</td>
<td class="nump">$ 8.3<span></span>
</td>
<td class="nump">$ 5.5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Remaining stock-based compensation expense for unvested shares, not yet recognized</a></td>
<td class="nump">$ 23.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Stock-based compensation expense, weighted average recognition period (in years)</a></td>
<td class="text">2 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">14<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric', window );">Percent of achievement of award target performance metric</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">95.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Minimum | Tranche one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent', window );">Performance-based cash bonus payment, percent</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | Maximum | Tranche one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent', window );">Performance-based cash bonus payment, percent</a></td>
<td class="nump">165.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember', window );">PSUs | 2016 Performance metric</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member', window );">PSUs granted in 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member', window );">PSUs granted in 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Tranche one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">48<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Tranche two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Tranche three</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets', window );">Percent of cash bonus payment on initial targets</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Minimum | Tranche one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets', window );">Percent of cash bonus payment on initial targets</a></td>
<td class="nump">165.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member', window );">PSUs granted in 2019 and 2018 | Maximum | Tranche one</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric', window );">Percent of award target performance metric</a></td>
<td class="nump">150.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Unvested RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares)</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Fair value of shares vested</a></td>
<td class="nump">0.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Remaining stock-based compensation expense for unvested shares, not yet recognized</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Stock-based compensation expense, weighted average recognition period (in years)</a></td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_RestrictedStockUnitsAndPerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=appf_A2016PerformanceMetricMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=appf_A2016PerformanceMetricMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=appf_PerformanceStockUnitsGrantedin2019and2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647459361272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Awards (Details) - RSAs<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number&#160;of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, beginning balance (in shares) | shares</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares) | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested, ending balance (in shares) | shares</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, beginning balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 105.88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (usd per share) | $ / shares</a></td>
<td class="nump">153.41<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (usd per share) | $ / shares</a></td>
<td class="nump">105.88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (usd per share) | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested, ending balance (usd per share) | $ / shares</a></td>
<td class="nump">$ 153.41<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647379833368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for (benefit from) income taxes</a></td>
<td class="nump">$ 38,428,000<span></span>
</td>
<td class="num">$ (31,459,000)<span></span>
</td>
<td class="nump">$ 420,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued', window );">Income tax examination, penalties and interest accrued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal | Research tax credit carryforward</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Credit carryforwards</a></td>
<td class="nump">4,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State | Research tax credit carryforward</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">46,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Credit carryforwards</a></td>
<td class="nump">11,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued operations, disposed of by sale | MyCase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Tax expense relating to the MyCase transaction</a></td>
<td class="nump">51,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation', window );">Tax expense on gain of sale</a></td>
<td class="nump">52,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Benefit on reversal of tax liabilities</a></td>
<td class="nump">$ 1,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=d3e1012-107759<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721523-107759<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721673-107760<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) on gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=109222160&amp;loc=SL51721525-107759<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721675-107760<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=d3e1361-107760<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=appf_MyCaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380373432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Effective Income Tax Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. federal statutory income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State and local income taxes, net of federal benefit</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="num">(53.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation expense</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(88.00%)<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment', window );">Meals and entertainment</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(475.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other permanent differences</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development tax credits</a></td>
<td class="num">(2.00%)<span></span>
</td>
<td class="num">(64.00%)<span></span>
</td>
<td class="num">(9.00%)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Provision for (benefit from) income taxes</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="num">(652.00%)<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647380396024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Components of Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 3,982<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State and local</a></td>
<td class="nump">5,444<span></span>
</td>
<td class="num">(15)<span></span>
</td>
<td class="nump">339<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Total current</a></td>
<td class="nump">9,426<span></span>
</td>
<td class="num">(15)<span></span>
</td>
<td class="nump">339<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">27,982<span></span>
</td>
<td class="num">(18,761)<span></span>
</td>
<td class="nump">65<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State and local</a></td>
<td class="nump">1,020<span></span>
</td>
<td class="num">(12,683)<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred</a></td>
<td class="nump">29,002<span></span>
</td>
<td class="num">(31,444)<span></span>
</td>
<td class="nump">81<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax provision (benefit)</a></td>
<td class="nump">$ 38,428<span></span>
</td>
<td class="num">$ (31,459)<span></span>
</td>
<td class="nump">$ 420<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121586364&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120385591&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647384127672">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred income tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">$ 4,112<span></span>
</td>
<td class="nump">$ 22,525<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development tax credits</a></td>
<td class="nump">9,467<span></span>
</td>
<td class="nump">17,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">2,783<span></span>
</td>
<td class="nump">2,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DeferredTaxAssetsLeasingArrangements', window );">Lease asset</a></td>
<td class="nump">9,992<span></span>
</td>
<td class="nump">8,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">2,196<span></span>
</td>
<td class="nump">1,692<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">28,550<span></span>
</td>
<td class="nump">53,103<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property, equipment and software</a></td>
<td class="num">(13,412)<span></span>
</td>
<td class="num">(7,965)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(2,693)<span></span>
</td>
<td class="num">(3,767)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DeferredTaxLiabilitiesCapitalizedCommissions', window );">Capitalized commissions</a></td>
<td class="num">(2,708)<span></span>
</td>
<td class="num">(2,492)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_DeferredTaxLiabilitiesStateTaxes', window );">State taxes</a></td>
<td class="num">(2,350)<span></span>
</td>
<td class="num">(2,563)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements', window );">Lease liability</a></td>
<td class="num">(8,064)<span></span>
</td>
<td class="num">(7,152)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="num">(751)<span></span>
</td>
<td class="num">(1,590)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(29,978)<span></span>
</td>
<td class="num">(25,529)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Total net deferred tax (liabilities) assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (27,574)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Total net deferred tax (liabilities) assets</a></td>
<td class="num">$ (1,428)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DeferredTaxAssetsLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets, Leasing Arrangements</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DeferredTaxAssetsLeasingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DeferredTaxLiabilitiesCapitalizedCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Liabilities, Capitalized Commissions</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DeferredTaxLiabilitiesCapitalizedCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_DeferredTaxLiabilitiesStateTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Liabilities, State Taxes</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_DeferredTaxLiabilitiesStateTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesLeasingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647381222312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Changes in Valuation Allowance (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_appf_ChangesInValuationAllowanceRollForward', window );"><strong>Changes In Valuation Allowance [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance, at beginning of year</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 23,002<span></span>
</td>
<td class="nump">$ 23,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Decrease in valuation allowance</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(23,002)<span></span>
</td>
<td class="num">(825)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance, at end of year</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 23,002<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_appf_ChangesInValuationAllowanceRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Changes In Valuation Allowance [Roll Forward]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">appf_ChangesInValuationAllowanceRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>appf_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647555686312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Unrecognized Tax Benefits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefit beginning of year</a></td>
<td class="nump">$ 4,421<span></span>
</td>
<td class="nump">$ 2,977<span></span>
</td>
<td class="nump">$ 2,105<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Increases-tax positions in current year</a></td>
<td class="nump">1,720<span></span>
</td>
<td class="nump">1,444<span></span>
</td>
<td class="nump">872<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefit end of year</a></td>
<td class="nump">$ 6,141<span></span>
</td>
<td class="nump">$ 4,421<span></span>
</td>
<td class="nump">$ 2,977<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=120406818&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647459504072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue and Other Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 310,056<span></span>
</td>
<td class="nump">$ 256,012<span></span>
</td>
<td class="nump">$ 190,071<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_CoreSolutionsMember', window );">Core solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">100,938<span></span>
</td>
<td class="nump">88,581<span></span>
</td>
<td class="nump">70,549<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_ValuePlusServicesMember', window );">Value+ services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">195,146<span></span>
</td>
<td class="nump">153,994<span></span>
</td>
<td class="nump">113,072<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=appf_OtherServicesMember', window );">Other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 13,972<span></span>
</td>
<td class="nump">$ 13,437<span></span>
</td>
<td class="nump">$ 6,450<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=120311839&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=121604090&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_CoreSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_CoreSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_ValuePlusServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_ValuePlusServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=appf_OtherServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=appf_OtherServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.4</span><table class="report" border="0" cellspacing="2" id="idm140647377492872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">401k cash contributions</a></td>
<td class="nump">$ 3.2<span></span>
</td>
<td class="nump">$ 2.5<span></span>
</td>
<td class="nump">$ 1.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>96
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  6!85('04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  %@6%2N02>HN\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>.FEA2%'7"]-.("$Q"<0M2KPMHOFCQ*C=V].6K1."!^ 8^Y?/
MGR4W.DH=$CZG$#&1Q7PSN,YGJ>.:'8FB!,CZB$[E<DSXL;D/R2D:G^D 4>D/
M=4"H.%^!0U)&D8()6,2%R-K&:*D3*@KIC#=ZP<?/U,TPHP$[=.@I@R@%L'::
M&$]#U\ 5,,$(D\O?!30+<:[^B9T[P,[)(=LEU?=]V==S;MQ!P-O3X\N\;F%]
M)N4UCK^RE72*N&:7R:_UPV:W96W%*U'PNN!B)U:2W\N[V_?)]8??5=@%8_?V
M'QM?!-L&?MU%^P502P,$%     @ !8%A4IE<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M"  %@6%2<5#GVT<'  !N'0  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+5976_;-A1][GX%X19#!]BQ*,D?69, CAUOWOKAQ5V+;M@#+=$644G42"J)
M__TN)=ET/)D2-O0ED63>P\-+\MQ[R:M'+K[*B%*%GI(XE=>=2*GLQWY?!A%-
MB+S@&4WAEPT7"5'P*K9]F0E*PL(HB?NNXPS["6%IY^:J^+84-U<\5S%+Z5(@
MF2<)$;M;&O/'ZP[N[#_<LVVD](?^S55&MG1%U>_94L!;_X 2LH2FDO$4";JY
M[DSPCS/?U09%BT^,/LJC9Z2'LN;\JWY9A-<=1S.B,0V4AB#P[X%.:1QK).#Q
M=P7:.?2I#8^?]^CS8O PF#61=,KCSRQ4T75GW$$AW9 \5O?\\6=:#6B@\0(>
MR^(O>BS;^GX'!;E4/*F,@4'"TO(_>:H<<60P=LX8N)6!>V* S_7@509>6P._
M,O +SY1#*?PP(XK<7 G^B(1N#6CZH7!F80W#9ZF>]Y42\"L#.W4SY0]4H![Z
M?35#KU_]@%XAEJ)W+(YA4N157T$7NF$_J.!N2SCW#!QVT3N>JDBBNS2DX7.
M/G [$'3W!&]=*^*,!A?(PUWD.JY30VAJ-Y_3]07"@\(<UYC/[.:_Y"GT[M3U
M_FPTWL'=7H'GG1L-#W+8-0HMTG+/ZK7_YUMHA1:*)O(O2Q_^H0^_Z,-OZN/C
M+J-U4V@WQT[O5PN+P8'%H!V+29KF)$;W-.-"U=&QXRB14PN=X8'.L!V=)16,
MAWIY(M@PM?YI0*H6Y'<O7C0LBM&!V\B*.,V%T-3F3 ;@J2^4""L_.UJOA]V>
MARV\Q@=>XY8+21 0^F*MGI]&.]:&Q-(VCY<'3I=6G+M4,;4#5\44O<^3-15U
M7.P8CH-[WL@?CBU\L&,$U&G#Z)YNF53@*(7>DZ1VWAJ )EDVYZ"[71"'X,+&
M[4C<<1MN@,<%S%LA-UVT4K"P$!=HRO-4B1W\#^L)V]%G=S:2KB'IMB'YD3RA
M10C+C6U84 KC^0EN@'2'/<<;7(XO?1M#(]K8:\-P$H:"2MG=/Z!"MS^D];ZS
M0PX<-"52L9B1%,T$Y#XVID;ZL5V\3YE.]1O,]$?^F-:RM,.M8#D3=$O$F@C2
MM3$T80';]?R4X6$Q+@5_8&E0[TP[YG1BHV9"!+8K^RFU)9<*]/@/EIW?(7;$
M2P_CD8V;"1&X(484S""S/T_%#C!V!C8B)B9@NY"_Y3I&+2.>V@2X <0;^KVA
M<^G9&)F(@.UR_I$I" 9\@R@)(A3$1-8GKG:4J;9#$Q3P) 'I@<0[^-I%&83B
M!Q+G%+UR+AP('"B#=%E&1-CVJVN"AVO7?(BL(4NW:+5+UCRNH]T ,%DNYS8F
M)E2X=C%?T2 7>I'=/0412;?T;!AK 'H_6<TFO]DXF<C@MHH,GZ$J['U-0<+0
MBA()*R]$"RGS^J77@/F%2ALW$Q/<5C'A$X\AAD+%7*0DHG;E-2"]YS9"1OK=
M5M*_3R;+1*U86Z"P>3TQ.V*#JXSDNZTD?Y$J*LHZ7Z>V9$^UEID=L8&947RW
ME>(74P?Q6-$M%[M:/G:<MT3 AID$ 04@@ E+2!M'H_RN7;@KCJN$Q#&ZS27\
M7"]P#3A-&;AK0H!K5^^*T5U"Q58OL)\ 0440F)*,I/7N^W_%@6MB@6M7\<5T
M?H\F><@49!03I2A$\"*5G,=D6\O,CM=0?7I&Z+U65<(J BVS>:H!ILE3GM%[
MKU5IL,S7,0O /9S4;<19A3(H4/0AXL.-.QY!U?M0U[M1=L^NPOO24A[5)K!K
MUKJ.VE!0A?H\L %UJ16/IU(G RJB2!QJLN]?CET\>B/UD2!+6:%!D' ^[<K\
MLZAR-[!DM)4^*=J?6KRCM-!0 %SIC"#B<0@JCU[KAAK4==Z<X!1?\9L?NDAQ
MM*9H TH0HD<&.T0;57&648D(U/B': MK(F&R.$X]!E_=3?> *,N%S'6!"<!0
M;N9QN;2Q/T$I5PA>J1X!%!38=5!(=M#%IOQ&$87.*K=LRG.&G3YG"/3Y7^EY
M%3'Y_+0&Z8W#1?+]2SQTWNB#(<T-6E7DGC4VXX;D"+&3:17[:=7GBTNBFVO,
MQ6+1+4^^$,!COZ1XRN-"NXEF9HJRDXD^G4J9T: H(^-X9Z?R[\ZZ]8B1EE_M
M9IC2D,+'\-G\$JES184B@.8;6_7N'9T5MDHQIM"_ 'J+-*1/Z%=:KQMV*)VZ
M^IZ'+VU%@&=R#:_E$>/QD=4</M8&I@:PIJ-5DV=X+8\<*U;54=]Y7G:X^1<;
M*Y-C>/;<8 *4PI+6F1C4 -"H^2:5\!J*R)H:QP9L,@)O_,V.M3T3W+U69W_3
MDOVJK-!6NA:3Z$.N(-2GNIBJNR2HD(='80R/1_[('YX)9;Z)[+X]))=.O6WK
M5-]$:!]_N[L"$XG]5C76?W%JA?S,J8/AP/$P/G%J_^B"2F>-Q46?!)=![53>
M51V^'BX3)\456M\T+V\BWQ&==$H4TPV8.A<CV,2BO-PK7Q3/BNNN-5>*)\5C
M1 E$;=T ?M]PKO8ONH/#%>O-/U!+ P04    "  %@6%2&A\S9%D(  "8*
M&    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;+6:6W/;NA''OPI&)W,F9\:.
M<.4EL3V3V-,V#VT\QSGM,TU!%B<DH4.0<MQ/7_ B@20NE-W6#XE(+<#_@LO]
M[4*\>A;5#[GCO 8_B[R4UZM=7>\_KM<RW?$BD1_$GI?JFZVHBJ16A]736NXK
MGFRZ046^QA &ZR+)RM7-57?NOKJY$DV=9R6_KX!LBB*I7K[P7#Q?K]#J>.+W
M[&E7MR?6-U?[Y(D_\/J/_7VECM:G6399P4N9B1)4?'N]^HP^WK*P'=!9_#/C
MSW+T&;2N/ KQHSWXNKE>P581SWE:MU,DZK\#O^5YWLZD=/PY3+HZ7;,=./Y\
MG/TOG?/*F<=$\EN1_RO;U+OK5;0"&[Y-FKS^73S_C0\.L7:^5.2R^Q<\#[9P
M!=)&UJ(8!BL%15;V_R<_AX48#4#4,0 / _"Y \@P@'2.]LHZM^Z2.KFYJL0S
MJ%IK-5O[H5N;;K3R)BO;V_A05^K;3(VK;VY%*46>;9*:;\"7)$_*E(.'=CH)
M+L$?#W?@_;O?P#N0E>#[3C0R*3?R:EVK*[?CU^EPE2_]5;#C*G<\_0 (N@ 8
M8F@9?GOV<!1/AZ^5OR>G\<EIW,U'7$XW5<7+&B12*C\]$Y+3A*2;D+HF3.0.
MJ*4!:?N!_]EDAR175[ N53\5ZZ9JG[+##:(0!^1J?1@OB<6,14A;3832DU#J
M%?JU/'!9%ZWSDJ=-E=49E[_^$F&$/Z7]JM@D]Y,&(RTXPBR8*;98X2@,[(K9
M23'S*OZ<IJ)1*ZER1LK5LC[F_ *4W"J3&0(0A"R<R32M0A9@N\K@I#+PJKRO
M^#[)-H#_5/E5<MD%@ZAWO *I)]AZV8&Y;C ,Y[)-*\08A7;=X4EWZ-7]7=1)
M?H;$T+QX'!,VCUG3+$!AC.P:HY/&Z,TQ6XK2$[:1*2<,X4RS:80PC&*[YOBD
M.5Z(!P7:JG[IXJ#-!_M6OS-P8S," DKBF5+3"M&04KM2!#4!H%?K-Z4TJ;/R
M">1< 1%4+?DNQ?:R40?ND!AF'<LAD 5H)MIBAL,(.O(8&G$++:3<?:9B-_NW
MXI84V_HYJ;CB]T$5)MU:@U3(6CI7?)A]HIY1-E]RFQF$V*5> PAAK_J_"K%Y
MSO+<*@T;UU3+2N?YP&864<P<TC3*D)]E7\LZ*9\RE6>'F^]>0V(&9$",?&LQ
MPXB,\MM4J$89\K/LCF^Y>O0WH$Y^<GN(FD1"&$5&B%K %;+0]6!I<B$_NKYU
M^=_S!)DD"C":YU2KE8NJ2 ,+^8G59WZ/.),W)(II-$^?%CL<0 0=0$6:3"@\
MJTC+L^0QR[ND[ZG4D*8)\N/D5%#LDY>VFK Z;X$"I(;K%JL8N^):HP/YV:$$
M5HT*:U[L<_'"^:FHL"JU0"%2?W.I%K,P9)%=*];LP'YVG+1Z)&*3 *K@#>:I
MUF8&(^)(M5B# OM!<4H3E8)#V5CO-S;3/,:CFG!0:%K1 #HJ,#QJ1OPL^%JF
MHN!M%O.%)#;3?0QC-I=H6KGT:2!@/Q"^3<I8Y^,XR#23/:5LGG$M5@@AXBBZ
ML$8"]B/A.Z\*D(ND[)@U[6O 7E3MSH%5M4F ^<-N,6GK1(=BS0CL9\2T %]:
M7!,%-(Z@$006LY &CLH :V1@/S+FA>*26I,,%"(Z[QHM9H00Y. 'UOS "ZW-
M)!:L LUVQ;CKI@D-2>A:2@TA[(?0<NV"+7 A 32RIFGF>N U@+ ?0'U,+MU=
M"U$@88&Q@A8['"'FN+]$HX?XT7,KBB+KVL*^VTY%V<8F+U.E&+S_AZ@Y0.@W
MZPZ,=^9VY_2CW"<IOU[M*RYY=>"K&V#;MOH?3#3U7E.-(&]U]%"+],=.Y!M>
M];UP^*GK,^N7C[[Y-92('TKWU3%"97NE"_ .?H 0(H6H"AR2O.$7 +,+=0K(
MG6J]U#UHZIVHNGZLO1VE.'Z12=D,)T532]5=;-H<DD@@MN".I[QXY-6OOZ
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
MW;IJ3Y38-YLYCT(I43:'.YYDO-8"N+\10KV>Z ?T&XC+_P!02P,$%     @
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
M1S)TDOR35;58_WPD^0369;H0^VD[J-L\K7GJD/.R0 QTFU8\I/5JQ;($\&(
MU/$C&PV T!Q;B.VLHQWKZ'NSMLU"9#"=HC#2=H"K,93B$?1DYN?MZQ.+R^PK
M8%V4)YT3UJ3-,\@8L>W&J&Q[>2ITLN6)ZA>^WXB:BA-^RI+:&:@+\)2(M0]&
M J3KJD\PBK1=_M("FO91JA]2O:%;O@_QPSH!IBYK\7+105PB9X%,X8!K4MNA
M6]SG5;5M--VV2F*A"Z-+M^NA[]U0Y$@1@^1;:5D'FC@&6J4B)0VZ->WWP?39
MRL!4,B/)<&-4FE+MH%ON;MEF6RY6<2MX_4ID=/Y,79OB8(B0%#;H5K9A0M9Q
M"RR9%Z0^TG(O:.J;AE/I2HF#;HWCE4*QS9O-E9?4>=)$_J>-*++!WY>/M9CY
MNXR!7]*J_L?J@;O];36]C^/-6]G/KINV%YY($R_ZE:WO6.E(Q:"4/^C6O]^X
MN#D"-3(WG"CRM71B#DTA4V%J/22%#+F%[#)/]BR'0FLY9,H5I$%HU$,66 A[
M";W*7@H;<@N;QGX/QF?(HE\P)+ZF QU,J0ETIT8A5Y;.FN$)M9W(@IO"0$/=
MV%"6M3FWX0C!T!\8[E[UC'Y\38.D1B*W1CZ[JD&F,D+DZ=-I@@8T"TGY1&[Y
M/*CV0:9H4JK7SR,@E:?45N36UD.J'V2J)@]H/8\=0ZE$I;HBM[K^@ H(6<I+
M-#3"4H616X6_4Q&$+#),(VQ$S1A,]4J*-=J[(-V_#$)FC>GK?%T0E:N48>26
MX9<L@I"IQA12?4.QU)Y]E'H(*!4;NQ7[6XL@;&KQP#Z'I0YCMPZ_0/6"3=$:
M&BJI5]A=+SZS>L&N,E&ETCN[=6O78=4+-K4(0>.,U U2B4K)PF[)<F>KV)0?
M[*-0ST!&82HYJ5-XY%QS[VPULL:8Y7C3IU1/[&RP@$8#!\)8BA<>.0EU9JLV
MQF==BTIU@&%$]6,+"\[P:A1RA2W2YT.J'[Q?6W"ZY-Q8,-9DU88+/3PTV%)P
M<?#C<U4LE1&[E?&YN>H9MIW 1OIT6T">KT^X!32@^%BJ*':KZ$$9+39KVQ 9
M06?*9!^D_O@B59*X5?*0C)98JE/^IQ,=A:E4I7@2MWC^@)R66.I0?R"C(E)>
MB5M>OU-.2TSYG4($(SU)',>I?DFM)FZM?LE,D5A*SXAHE?VE!3558*HGO=\@
MW6+^K;DBV?L<ET@-)VX-?X%<D9@"/9 K$BG.Q"W.S\P5B2E?0R,DI8NX:\7#
M<D5BUG9($^-K-T:E*26.N"7N^2?=Q%2FZ6"P2VDB;FDZ[*";6*HS B/MG8>;
M49CZ^[S4)^K6)W>:36W'JB'QM'F=C^-4>E*3Z$$'J\.)MCA&L[Q&8-&;,$#Z
ML; -1GTZ<"Q,I3!1MS Y$VTKXS-J_JB'0AKIIX07-ISNU2CDR@+AB;;Q8LJU
M!4<U&;RQ8*:(!CIN;NN3>MC71WO6>R%2O.;[:US>ISQOS=B2&WIO MY"V;XY
MV][4Q:9Y1_*NJ.MBW5RN6,P3; '@WR^+HGZZ$:]=[MY?/OT?4$L#!!0    (
M  6!85+F+GS.'@H  +LN   8    >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL
MG5K9DMLV%OT55E<>G"K+(C8NKG97V5(R,P])7.YDYIE-0BU.*$(AJ5[FZP<
MU00)7$!R7FQ)?0#R7%S<<[#</HONSW[/^1"]')JV_W2S'X;CQ_6Z+_?\4/0?
MQ)&W\B\[T1V*07[M'M?]L>-%I1L=FC6.XV1]*.KVYNY6__:UN[L5IZ&I6_ZU
MB_K3X5!TKU]X(YX_W:";MQ^^U8_[0?VPOKL]%H_\G@]_'+]V\MMZZJ6J#[SM
M:]%&'=]]NOF,/FX94PTTXM\U?^YGGR-%Y4&(/]67?U6?;F+U1KSAY:"Z*.1_
M3WS#FT;U)-_CKW.G-],S5</YY[?>?];D)9F'HN<;T?RGKH;]IYOL)JKXKC@U
MPS?Q_$]^)J1?L!1-K_^-GL_8^"8J3_T@#N?&\@T.=3O^7[R< S%K@!)/ WQN
M@.T&U-. G!N0:QO0<P.J(S-2T7'8%D-Q=]N)YZA3:-F;^J"#J5M+^G6KQOU^
MZ.1?:]ENN-N(MA=-714#KZ+[0?XG!W7H([&+-D6_CWZ6B=%'J^B/^VWT[H<?
MHQ^BNHU^WXM37[15?[L>Y#NHGM;E^7E?QN=AS_,0CGX1[;#OHY_:BE?+#M;R
MY2<&^(W!%QSL<<O+#Q%![R,<XQAXH<W5S5$.--]>WSP+L"'3>!#='_&-APKZ
MKA.'2$[MKACJ]G&<&_50\S[P #H]@.H'4,\#?I6UI&Y+<>#0X(UMF6ZK2L;3
M'6(9C<GM^FD>4A=&$ISA)6H+=);G23JA%N_/IO=GP0!]KOXK9\68I(.0I:<4
M;5DW/&HG8NIW]:U4L3QVXJF6F18]O((A_1B(:3*]4Q*,Z9;+FEO6Q5C)VBHJ
M#J(;ZO_I'Z PC]TEL\C@),UC*\H "I.<65%V48BR-(&CG$Z,TB"CSS,"JA:8
MR#5<5MFH4^5T)7:KD_Q2]#T?P%J0.N]&TAA9-%T01<2*Q=8%Q3##;&*871BS
M'>\ZF1=O.5.\V/-KY)"YHY#'L97K&Q>U(G(<[,%R81X:^40C#]*X'T3YYTHI
M7Q5)'M(.]-ZLRYV'YS&VWG#C@E(2YQ8-%Y00XIG8*#92% >Y_$/:E$CF6U_(
MZ2R3[N'42T0/JTSL!AQE:<(RBP\ M',K"%ERF<DJ"G+Y;=CS#GQQY,Y79Q
M$+&K*X#!F'K>&YOWQF']V1?M(^^5RL^JI9[@NK(U=?%0-Q<K)S)ZATBXTI2E
M.*EB+BLHKY^*AP84IG,OB_'&J2TY&Q 6$V3'#H#E<>8)GI%6%-;6KQT_%G45
M\1<U#_D8,:$R05HY66S:(5 KSWTOWHEE.;49 C *, 1@29P2#T6COHA=SNL0
M"P:P0+E-PD4A,M.L,P>@+TJIK\X8M49AN9Y2[EB\>O/-E569(;8/ E ,.4/A
M@A+DFZA&H-$%A2[+[B2+/C\<&_'*^91T(!M7/G&:.Z,"*#&C3MUQ40C/1GC)
MQ\@Q"NOQQ"=$PY7/)$N=BN^B'!T&, 1GR$/"B#$*J_%D*CK^Q-L3G%FN>#+;
M[FP $$(YL5FXJ!65-0.F@8T0X[ 0_V:YO5G1AQAA0(M98A<N"(63Q$XO .81
M8VS$&%\AQA=9N'J:DR2Q64#R3>TI#Z"2V+?RP4:<,;ZX=KMJ40/RP^[LSK!3
M!  8R;(LM1D"L 0G'@G%Q@[@:]>_=?O$^^O7O]BH-+Z@TJ>NW!=*GJ7'+)Z*
MNE$BL-J);J6=Y_A@O<($XP@),,G2U XD@,-2"C,[DA N9\BS@L-&JG%8JK]V
MHN2\ZL=P*FI_ES&@UDEJZ]P&@.&4V68;0L5R0>5A:T0=AT5]R?90#*=.I\S?
MI RLO5/BE&D AEB2.)Q=F%(;7YTV'@"'/< BDV5-D)5@>'T?\;].]?&@W6:K
MUK>#M/2U9!^P;=@5]162?L?65@B7Q1FU"0,PC&:+YB5A8Q)PV"1LBF,]%,UL
M8Z(7N^&YZ'A42<5MQ$B[%+V')K!,QTEL>YP-B(MS=^X".(1)['%WV!@)'#82
MN@SJM81<B+VM@V4AE"/;UXK[>[W#)0.@]4#_H;.W4\^<79/@I#'@(QB-8V=8
M 1R2CMSCFX@Q'"1L.-Q2-5__+[E6M9JY,%?BF@>4(XKMV@S@[#D;A"QI&A]"
MPCX$U.]WIU[O0OUXA>*=60(>A";.PF,#X%99GJ7VL$(XFE!/$A-C5\B%O81)
MRW=U6[3EU5I.9KOEX=T#*W'49I@T1+HX\!?>E;5G)4'<#8 ,VU4  #%F>W
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
M5W_TS9^V#CBG\KM]V1WPDTO?!?BP+@=7%R^:KNRJIFR+*UC3 ;,.H;AQO2M
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
M?!/*P\[ =7FGVE6V6:+[=Q<C"LWH8^MH;2*39(988S6F?;".OP_;9J_H5<C
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
M:/67P>]Q28Q%#WY'/VX=<%Z/#\#G:^\'_04WP%IC N_I_P)02P,$%     @
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
M"=#CY#H4GYP5_+2$N9#PY6!</.A:C9%HP?'&: 7/>P_F/H0/5:P,W770=1/
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
M&'C#M4/$]2*@SA>]3Z3/.^C3.V^6'6JLQ:/*'UTA#1J4Q(()(4L.CG)LWWE
M7F6.S_,;5'EH-GH3=HAZM!X0J[6@>8XXG;A&;8]_[\ZK5B]TZ.RMGH9DTWA?
MZ"322M0)Y)&CM5NZJ OIF4(,=O_UL*4[I.Q@XJ/=0Q=74T;13IG<!+=*Q9)*
M )BN\D^:/I.'S,Q@55077@5H+L/^S=E]2DI$4,;U#+Y!YDW741<)?:3S%1"$
M:C\IQ,$0-<H[5:XOG+1[*!/57=D=CJMRF?HVI<F/'RT&O*K4+V,' LN_3G;U
MRE)5/J<:5#;B@CP=BTG($3XN+;=ZX01][EJXYI.6[QM;*Y*LE%_(5)7QW7$
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
MU2@8#SU0W7CL-D8V;B1MI*$!YY8E?5&@L@)TOY72'#?60/^-LOP&4$L#!!0
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
MH&"W4BFZ@T9!L?]CK=2EZBL,6NV3FII!N,B(]'E.6J1V4067_$0-#OHE>_V
M'^H\;XUV1LDJM(X;H=@8N.,[AIK"MI%E T-C<> -E&@])3N3,?BHBPVB;,.@
M,%E%A],M'' ;+I,2:5J%3D,?%GW%(P,@V$6.'N*E\=&#WZ*BMMB&VV@$+W7Y
M\=']V**]#W\!#D*E#5?E8?7PHW$]W*__B0]_*1^%I3[K2+N:H,EH-HF&3K6?
M>-.%VW9C/-W=8=C0SQ):%J#]VAB_G_ !A]^O];]02P,$%     @ !8%A4J"\
MS:\+"@  &1L  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N>&ULI5G;<MLX
M$OT5E-:S95<QNMF>.(GM*E\FLZ[*Q>5X=AZV]@$B(0ECD-  H&7MU^_I!DA1
MLNQ,=A_BD"+ZWGVZFSQ=6O?@YTH%\52:RI_UYB$LW@\&/I^K4OJ^7:@*3Z;6
ME3+@ULT&?N&4+)BH-(/Q</CSH)2ZZIV?\F^W[OS4UL'H2MTZX>NRE&YUJ8Q=
MGO5&O>:'.SV;!_IA<'ZZD#/U387?%K<.=X.62Z%+57EM*^'4]*QW,7I_>43G
M^< _M5KZSK4@2R;6/M#-37'6&Y)"RJ@\$ >)_Q[5E3*&&$&-/Q//7BN2"+O7
M#?>/;#MLF4BOKJSY71=A?M8[Z8E"365MPIU=_D,E>XZ)7VZ-Y[]B&<^.W_9$
M7OM@RT0,#4I=Q?_E4_)#A^!D^ +!.!&,6>\HB+6\ED&>GSJ[%(Y.@QM=L*E,
M#>5T14'Y%AR>:M"%\T^VFKT)RI7B6DW"Z2" )ST9Y(G^,M*/7Z ?C<5G6X6Y
M%[]4A2HV&0R@3*O1N-'H<OPJQVN5]\7A*!/CX7CX"K_#UL)#YG?X(K])$-?:
MY\;ZVBGQKXN)#P[9\.]7F!^US(^8^='_[+Y7Z:GDWON%S-59#S7EE7M4O2VF
MXLJI0@=Q,7-*H1R"^%KA0:[*B7)B?$2.&IUD8JD$'BH<%KH*5ES@;,'GO]1\
M]'YI!7X/<_6<Y3[]VONF<EL5:\K> ;(QS,7O*!HO/DHWLYF07L@"F:C)BU12
M L5;!3P *;$QH%;.XUH&: 67+Z0+6M$ON(,*^\2#A*@B8Y+>MD*]@[[XC=CP
M8_*%%W;*-]M*9AM"M?>UBGK<DP<_65F1U;5G_725 [I\.B%+6\-X^2BUD1.C
M1-V*O%./UCSJ:@:S<VUT6!&7O>-A?X@R- :(TA?W. A@J!T]+F10C8YKT21T
M!Z\E/+ 5P_%A7]R H( CP#T3B]KY6D*_%+3GAB/DT;\0IT,@JRP4>E B5RX
MD0&;B)+.Z=$?=:6M0RQ61.PS\H6I"ZB5<92!V,)H\)%1O%-0()_#6>QZ6SN1
MV[($D@*4\H<4;QN3+J:<S/^LM6?U?<R<RHI':6JUP=E;89#BE$E+<B!H\0\J
M^H7*]53CRFAP*LA33N'*<5+$$!KUJ!Q23E#V61^CL.T;(0VDE+:([!IW3'4E
MJUQ+ U,>%:[!<[+**!&@CZ7\A*OA$I\EP10UY [[->HI]O4!%!&_7-[<7U_0
M$\UEYX-03^B5/FE&3JLL?*H\UT(E#I$[.#[J#Z/S]C5Q$E/*.DK- M6NBHK/
MVX;_!J_2(MJ)U_%[,$J%>Q>=5(A/C7/NB SUNU\HSGBR8[(2P_[XF-)%K)1T
M2/>@34KWG0Q03F+</TY:'WP0"V<?-9?MW"[I:-:4><Q$4M(UO+I.(R$8(=3,
MDB8Q=$+'M%H'&]I..1,D@P6-"DU)(07 A\VP#BA-5[D$=!+=NFZ?(1LY>EW@
MN?3S S&7A8"2TD 22D(]Y4H5"1- *"FA(79OW*EV9C0>_M3HTU$-E>,#'I-*
M"V1,KA?(L 0N.Q&!"DF'F-.O80X08?H,V(G'NM!BG4G1%"MID*_-X&0A&\E<
MAK"N48R=U:L9L+2U*<1$=:"3\^B8PLF4H_&;DD8 RBMMH619(@:0;E8X8TR,
M%9U$C?+PQWK#,;[.YUU;8BT_"R'($D#$@0C#HY#3J::A#/TG$Y6:I4X$W^ZH
M\<BW0](I_S9;N<IW0T$1IP?5X4V2XB%=Q=&8;$I(G9I1MDY_2O-)C2JDXB9:
M%!+<15TQ8D%[4A84JD#^QK@":2IJW]K85;T%=R@_=;;<K3XB5SM&LJ:YP( N
MW*#7 .WEBFLJ0658+2+P;QY4X$5-BXXB_O#,PC*XI!8AO5>!+7^@7PG;J-,'
M"@=2<:88VV(S<0OKR%)84>?HHJIQQ4-7D4(3XE1%]%M!8X>>U-QC?F!&:$'#
MOP863;)+MP9UH!LPVI"&"$ $+VZYT*<""#25E=%),LPN8INC/O'IYO+K'3DJ
M8CW":\"V(@ZT2S O"I!0$J60<_V:.H*?7"R,SAFV6F58-@I@IE$LEVN;HN*-
MEF"NPE*ALJ-\9CGJ'__449MQL?@#!44UOSXV[@^[Q_:A>\.,E7JN?Z0;/F?_
MZOG1AIR#C)\CD1<V5LL+>-07'Q5R",G*CK%1J[JJB1CYU$#+"S,<-REJ@AW9
M&<A3DX:^25CMZ>\KC-"A6DR%C]9=?N^PVS4:D.P$,\(D1WTYUTW8N4&2:3]L
M$H=^#L41*$1IV#]\VS6/ITJ40Y7V8.X7Q.OSZHH$WP-DO,QCSG)6=$ 14/^L
MN+:K)GNAEJB'TV!*T2\B9V.$G1@]DW%$[#;.=55^=WCF-8+/=X989CZK):P)
MY$:B]2J/LWE3/QY]D9X7T0OX"1,G#]C<BCJZ93%5/.X\CY T/=;&1$*@-XT,
M$71?<"9KH)X(,M#?YJI (#J=$6V:4L.FX2:-Y>3C.#C .TNJAV@FEU-R9DR'
MW5[/HG.B\L@Y9Y]T&07N'9WT1VU>$L*3GPW\O!D($K5W]&[SK&NCT '2#E4?
M<9HJMN>+18EC??]"BQ&7T&73^*(=?. PPT[^B)!H.A7#U9Z[LN4D64I$J;5<
MX<X:77 Z?6P[\3>L%6D]H&+C$;G;D^6$-IO=,>K'#3LQ@W57EI+D OI0<M0F
MO-Q1EBHU5FBS-^P?==TU;1ER2:\W84RL6(.,_D]3$275-]VAJ[NM0=?HJ5J/
MOX;MIEZ<D;QQ*P\G(HXLN7+CN918F[7TE\EV3:*WG77TUXN+VVRG7VACD'E.
M&0QV%!#:]5GMM([E,GJ^X^0L(=[:&P5EDTOV=MR9<WR^J^UF=3W3,59'4:Q9
M;'OFA^0_7SY_)+*[?'V]2RIKW2JV(0,MS#=#-KV6H5>1;^A=DR@5-GL\CZ'N
M($)LSVHZ5?Q>=#UB-!04NYWF;N;42R)?IM\1KM9%C$G),=(Y&AC)HQ_2JA#M
MC76-1(O@'\'Y9FL)IZT@B+1Y;D!'!S @Z2L:I4S3Y$67_W>S@.J&EW):M B)
MFEY/NS6F ][JVY<\S1M-?EWW+FV3HQ,(#=N'1N^RK7SYZZ7!2=*%HVQ=Z!M)
M3MK;Z133NI SB('GB"'7)2AVJ 3RPVZ-_%\J.M2,2Z&[I?:GBR9ROK-<,;Y2
M1?%:P0^^\@/3OB--C]+8B$@7Q*38C/FE-+1*B6_THMQGZ?W"BJ:DM%J^@GSW
M_.ZB660)X)IO&$UK6FO#%LM=+AP/6?UGCL5J0$EJ,7%BR3EXOWEBX^9VZ^6"
M%T7=O+1<5^6>^/O?3L:C\0=<'9UD;X^'6).ZP=D1DX9B?_3S6VPM&^;$2H)!
M]?>X;$D^/CD4N]ZQ#SJ?*TKE9OQ1Q@MN&O'+1?MK^]WG(G[N6!^/'XT^\RKD
M,7Y/03KLOSWN"1<_Q,2;8!?\\6-B0[ E7\X5=FQ'!_!\:C&-I!L2T'X-._\O
M4$L#!!0    (  6!85+^)%//O0@  .P4   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$Y+GAM;*U8[W/;-A+]5S":W%PRITJR[+1IQ_:,?]13>Y+&8[OMAYO[
M )$K$1<08 !0BNZOO[<+4J(3.[GKW9?$(H'%[MNW;Q<\WOCP(59$27VJK8LG
MHRJEYJ?I-!85U3I.?$,.;Y8^U#KA9UA-8Q-(E[*IMM/Y;/;]M-;&C4Z/Y=EM
M.#WV;;+&T6U0L:UK';;G9/WF9'0PZA_<F565^,'T]+C1*[JG]%MS&_!KNK-2
MFII<--ZI0,N3T=G!3^='O%X6_&YH$P=_*XYDX?T'_G%=GHQF[!!9*A);T/AO
M31=D+1N"&Q\[FZ/=D;QQ^'=O_4IB1RP+'>G"VS],F:J3T9N1*FFI6YON_.87
MZN)YS?8*;Z/\JS9Y[>OY2!5M3+[N-L.#VKC\O_[4X3#8\&;VS(9YMV$N?N>#
MQ,M+G?3I<? ;%7@UK/$?$JKLAG/&<5+N4\!;@WWI],+7M4E .2GM2G7A73)N
M1:XP%(^G"2?PNFG163O/UN;/6#N8JW>P4$7ULRNI?&Q@"M=V_LU[_\[G7[5X
M2<5$'1Z,U7PVGWW%WN$NWD.Q=_C->..7 :M+$POK8QM(_?UL$5, :?[QE5./
M=J<>R:E'?^;4IV#^'\RIM[325KTU>F&L25N5O'J+5=:'4ET[!*==0>H/4I5>
MD])J4WEKM\IO')4HSD4TI4%]CM4#A:#5.QT&VW!THQU>7KMB,L9>4U1JHZ.B
MF/3"&C"QY!.;X->F).7;T-&80@2W4Z52A<>-U"0O;$-1H:R4%;?MT&W;NVWZ
M\R?J>OF9S:+R'MNQO(WYO-UJ%2FL34%QS(=NE49>38PM7-1NL*SQUA1;U8*S
M81-,2N348BNV4F5"^5VC SSJK/6QA8EZJ':;$0.PM :)47ZI7AS,9N/9;*8:
M8H<*K$>)0405:2 F9\.-0)'?<&!]0K".^)5Q"$ECQ=Y/O0I$4JL"Y+?\8VZ,
ME?B%<R!3R!>, (":\PX/_Z(^MCYI%2N&!FYS;OZC1/2'2+(?)R15P;>K;[LW
M80[9MI185>&C !=H3:XE\;0H OYBT (U/B2L+*PV-?+)M$<.P3H#:1;?4;@1
M] ?8;6  %VU2SJ?]WBZE.!])@4.U=N@[@N?.>\$+9R](!T$CF/@!)JQ..=;L
MP$2]AZ4]1D_X*"X^[TR_*"E('-4+I*N7.=DYGQW\*(7UXF#R&LIOK30QO,&#
M-_V#,6>V(6EM=IMA,8+!#EB/*#@]< .!]BZS4, >XP'UB.!P*1&>:ROIO>>.
M$A^G"%V_T:94] DC 4/-ISTV#W(1BU+DA'PE,*;;B_GDA\\#.WPN,)@K 5TT
ML%Z1+7,%Z$PPE0DVR%*@CZT)E"42OWD\25IH9GE1 ,,Y9T_+Q:33T-O@"Z(2
MTAH!A+II(9/LOM110'1P#C14=S@-3!2+URY/2AS4,OA:2'1AUL8JF7BXR:R-
MS#0O?_%MA/&LX;+D9]Y=9$[>Y\'E55^7OTWN)\"48Y7W>'P#VG))O1Q=OK\9
MO9*PN21@LP#%.6 S\$< XI=]S4+,00@.?:?,]QF#6C(7>\_)&EJJLR+E4G6N
M&ZKV.D1.PZ=80*$<'_&[MBW]K8<4]>+4KWZ=^?!]IH.HLH+G.U%&B<B<!LN6
M(,-AC*P7:'^=TTE_@"RX;;](KQ B@&\S%[EW\THFB7%K1F(ED3./]W1$"M]\
MGL(<Y_5^$Y3X$O,OK.ZR>$6E$.<AZ%(Z80V_)9&CJX>+_P_\5]J@(J$8:"-W
MHA6\X<\#KUZR5?9O&)QWHU>2DK,F(.S#V3 AO!;-?+GLG <^K=0SP[K(3$@5
MA(LKGQNJ]!<=O<, 0#PCXQ&7 HM!]K\7NWVZ^N+3%NT&)RRUL3QVL<(R+-L<
M80]CS&''OA:N+N[.LA.%;VW9]3?&J/:.$L87-%ZG+50!*9QZKO)_MD[DA/.
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
M^?XFC=G\L'YZ&;)-1IU0.GH]%G=,,F]5W3CL(+"*-\XNG:S0YL2/:NX:Z39
M&CZ+^\?!(NPMH!3?G4RGXZFH4)BD.AVR;#742<,SLF-TR(#1<\PI)8<QX<Q^
MP-I/PS^:(I*O@QYFCRSK EO)0CVNVHPI%_N<3K-8)VVPF1!X-,8$[&'EE$IC
MK8N%0E\U(-G=JR"V&BWM+JC5/? N51BU1.HP'/;V;YZW*L,@ZES%!"8G(]GL
M*GUK5V.DT95M?$F>E5H]T(EHJ@L@.#9?'EN]>#!(3BCWP+E>]HY9BEBP!W.E
ML/"$RLTBQY:4?HV/!T/=4*[F&B06^8GQ92E=.N[AK<I.<6:Q LA2]#?UJ=:I
M]S%9)*IR?&7Y3"ETRVD+)M'4&& #-QX2P<YQJ <;0<PE#?2 X(3/+AK7%DY<
MVBI^>XBR?I+0WWTZP.ZGGU14$<&&>$QP^AHM9?8E_!-J;+-<#;*FEZE9ZISH
MD$4LNM/QK"LY8$*3MR2N#[S?T]DG8"I+Q]RIV2 ?G+U7+N:-IU,"0,-O*IZO
MTL)R1<2(;'.W^6R-42?V4*EZ-.!S\1OO^TXRZ7UOJI1;\E<UVLPC@>*GI^YI
M]^'N(GZOV@Z/7_V@;8FD!P5>8.IT_,.K4>R3[4VP-7^]FMN C0U?KA3\=S0
M[Q<6,)QN2$'W.?/\_U!+ P04    "  %@6%2YQ9L84X+   L)P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970R,2YX;6SM6FUOVS@2_BN$KWM( $>6Y->T:8"D
MV>SV<+L-FFV+P^$^T!)MLY5$EZ3B9G_]S0PI6?)+XA3M;3_<AZ:61,[[/#-#
MZ6RE]">S$,*R+WE6F)>=A;7+Y[V>218BYR902U' DYG2.;=PJ><]L]2"I[0I
MSWIQ&(YZ.9=%Y_R,[MWH\S-5VDP6XD8S4^8YU_>7(E.KEYVH4]UX*^<+BS=Z
MYV=+/A>WPKY;WFBXZM544IF+PDA5,"UF+SL7T?/+ :ZG!>^E6)G&;X::3)7Z
MA!>OTY>=$ 42F4@L4N#PWYUX);(,"8$8GSW-3LT2-S9_5]2O27?09<J->*6R
M#S*UBY>=28>E8L;+S+Y5JU^%UV>(]!*5&?K+5F[MH-]A26FLROUFD""7A?N?
M?_%V:&R8A'LVQ'Y#3'([1B3E%;?\_$RK%=.X&JCA#U*5=H-PLD"GW%H-3R7L
ML^>W5B6?3BY!KY2]4CGXVG TUUG/ G5<TTL\I4M'*=Y#*8K9;ZJP"\-^+E*1
MM@GT0*Q:MKB2[3)^D.*52 +6C[HL#N/P 7K]6M<^T>OOTW7!M3B9DJXW_!Y"
MR[(+K7DQ%_3[WQ=38S7$R7\>8#:HF0V(V> ;&/;K*,5A-&3TD+TN$E  PIO=
M9+R 2Y:HXF-9N,A?2;M@JM3L]<T;)@N&&[MTXU)QG3(U8U=20YHH;1@O4F:0
MZ$)EJ< ;J5I:8&T7@NUG>82/._0<KSO' 7NWQ*S#W2@$,*DIX KP:C<,0_S'
M##K&X!(4ZE7&C6$7H$*>PT82AJV$%@ "1N@[D 6%Y'=<9GR:"0;0Q.;@1DOW
MI3$E!^$"]J9@_^!%"5C#(B0N>+( ])D:\;E$?R<\$T7*-;L77'=)O*+,IT+C
M8B_38UQ8"<&NVZJ!C1, 2"/8])Z>9,(81_5('N_F\Y#N(/)'\ ZSBO$5.,PX
M.< .NYBGI9;%G&X"3"<BQ:N6JJ3 D0113 D6\=(]2:146*$!CD &T'%W* 7L
MPC+(84%TJSSN@BO9@M^UO,GX?*[%G%N!% ;=,!YU!Z?]0R0YW"T!^^.IEI<0
M )E1+0^D'P&5"2\@E9"!N,,+(,-!I80OI>69_)-2M%MY<)E)V\7'R$7.9-)Z
MG,H[F8)_&.BB@*1FR0)1"3F@;&VB3H^UPWEI%TK+/T$7%(="A/0CVB[]3,6*
M+S$H)!%B&DL6/'I[>T%_W\'?I=!4ZM&(/MIJ2&!3591&F$T)EEJA H:<@3(X
MAZ!)' 6P&^HA\F6F[H4 -FD5)5V$*@,U%'8X5A)<!R"74HI"14%$IH4-+R1"
M6^@XF/B2"*=@X.6_H;](![5RD385HJ#0@&#SZ8&AR):EQG ABANA<MLT'A3<
M>W8GC&6N>"CG^"7X$AH7@C9H5)A7'E!&0DSD/BJ:!@5U4NE(<DN+4VD *RJ$
M)&<W()ZB45HK$,WV/B/QO _(!2W/HW)3B-(O0B?229_=,T[!XK5"P6F1S'/
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
M@5*_]<$S[T93 -;=\39O_08D<&O<VRGG?56($_)$U2!??UUNM"+KH/@E4<
MS\+FZ I7&QG5N+&945?KMX[=Q^&N\3X,Y/('9,/U7/^]3L!(4<_N6V<HVLYE
MZ*Z/:WJ-+YAR 74$O],R(')96/<Q4WVW_A3LPGT!M5[NOB/[C0Y6#<O$#+8"
MVV''161U8=62OH>:*FM53C\7 @J!Q@7P?*:4K2Z00?V!W/E_ 5!+ P04
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
M.P?:WRIE#XH+,/XFUK\ 4$L#!!0    (  6!85()[\B8NP(  /D%   9
M>&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;*54VV[;, S]%<(KA@TH;,=)NZY+
M C3MANVA0-'N\C#L0;&96(@NGD0GS=^/DA,W!=H.PUYLD3P\O(CB>&/=RM>(
M!/=:&3]):J+F/,M\6:,6/K4-&K8LK-."6'3+S#<.116=M,J*/#_-M) FF8ZC
M[L9-Q[8E)0W>./"MUL)M9ZCL9I(,DKWB5BYK"HIL.F[$$N^0OC4WCJ6L9ZFD
M1N.E->!P,4DN!N>S4<!'P'>)&W]PAE#)W-I5$+Y4DR0/":'"D@*#X-\:+U&I
M0,1I_-YQ)GW(X'AXWK-_BK5S+7/A\=*J'[*B>I*<)5#A0K2*;NWF,^[J.0E\
MI54^?F'388<<L6P]6;US9EE+T_W%_:X/!PYG^3,.Q<ZAB'EW@6*65X+$=.SL
M!EQ ,ULXQ%*C-R<G3;B4.W)LE>Q'TULDZ9"[3'"CA/'CC)@UV+)RQS#K&(IG
M& 8%7%M#M8>/IL+J,4'&Z?0Y%?N<9L6+C%=8IC <'$.1%_D+?,.^QF'D&_Z]
MQAD:7$CR\/-B[LGQ3/QZ(<"H#S"* 4;_T<1_8X ?"+58(P@8Y8,WJ[?\ 'J$
M,!5XL99FZ:%A-,]#Q<BUD$K,%0)9$$H!ZD;9+:)/X6N->Y[HP&:[\8"BK*$1
MCF0I&\',[%GR73HY;PFA;2(5P[5MV6IL1.!]B5A%O3&M4.!)4$O6;<-@2MWJ
M-*2OQ?88!(%M'532EZ$ :XY9OPI&*FLNX"$<VWQ@I\>IIG I?/TT+):R08=P
M-$R+UZ\&I_D'+96*88Z*] 1Z*;3L:)">[C7 ZRQR;%$X;D287."Y0SU'US'M
M!S!\!^\C Q_.CODF?(-QF:AM^M3T9 ?/4:-;QJ7CN09N8O<R>VV_URZZY_P
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
M)2IO0\;3N%76Y,IL8 =5C=*;4%)9H&'L=G)AQ<I!Z1Q@(PBBN1.$CKG7GMT
MNR23"W$N;/<DN>X!UH>_70BVZ3EDJ#!6L G4Y534CMCE!TS-O2.X6'0]O*3B
M@*?+"SB )EF"D@&+K_<PCD@%U\TO.K(P$1BTPPPY"XR???$"I^S_9][:?#9I
M*UX[MC"N G:/&9Q?/$CR%K%\7;BE4=5S8!=D,J'EV!!YN]OV@(003P?LO6:]
M:K5"E%2M,:*@.3JB ,WJE2/D(I$B9EPTZ+CZE*KB%/BMJ%" UG!BL';DM^S(
M(,&GUJ_N" YZ7H,46 /T4?"6J%-V:(6T,)WW*!C[!19A&/@)><F(W%#+-G8V
MJJ^Y P39(+>)B:.NU,(D\6A($ZT'/I0I)'GND>3YY/D")BY@*.-KN60Q]KYH
M/XVARS<,9S#=6#6\;Z^HE3MO)K-$$;':X #$+MHN.B_T'F3M.J7_D]5T@X81
M"C=5X5%^TBLB\U$16#AX#T"+=@_8@1V=2.M .@0_!7 H9]\E70K55M*A:+[@
M5NH&1G71]=YV<)])[4;9ZCV(B"ND(<?.RF"> %FP78E"<)OM"!%$HS[X30ZB
M>-&5.UHJ:=9,%+A6(ITU*+4"TS3Y S@>JJ_C*Z<Q&#H)J>IC<&+_+ 8;BDV_
M201#T6>':X4%HHF:)_\.1L$/R;NZ1D\G[.?B^ R?OP%U:/>=*N(KT/S1LMW4
ML#TAY_U9=PF2Q1+]@:QWB4#&(Q%<H45,,M$7GCY>3"+T:W2;$ M)WC!]$]*.
M4<;D0.,.U .C)Z^#LZ9 'K$D!B$6$B 3:S9 !;$J-G>"K(ZM262MJ$8Q A7$
MI<CUB3(M\XK5+GF0(8X6'0_YT'BOF<QP@$T-:)#E-V!G &*BL<RF.,V$;_NI
MPKAL-I-1C9PU>%UAJ=TMNEQEC&W6= 5.13H:S[X)$"&M]H0@Q<R^<XMU5?S1
MP[$/W4?&T;4!@Q'#7Z"V_YUU3?&TU7,\ "*HHMKVHFT0#@_>[*N]=T]LV,,C
M^&6=A_C!<_3%'#I<G.J5]WZV">AKKETTQ1RYB%T^B-@F:Q;K7<(V ,$%[4A2
MZEIVCN"*4OR1=55VBS:P[^ZV)M7>:)1F*VIIE6#)19M,&:%$H3L,W-3X-6G2
M&HTA ,GWR:^D<YXEQ\E_]36R*<(J=J)06-4[<<B_FB/C7P"2C:K\^.NRKU!#
MXW%G,.X5'QK+<S*C=4[V3*,4-CMR!;VHO#$AKZ[^EK("!\3U1[1:7%L+^  L
M:7QE/PP^*"J_+[\*LJMHSS_@U^IKIM6/+)7LK RI ]68II[7#2M!._N2T S0
M1,:K[.=HEHGTI,/HP<)$Q4*MP@/6U 2#/#L-,>'3:9E/HA7_G_P2I*_$(;T
MQN>CD>#)P<?9YOUG1 FF!("J&XD_ %()O*/(C7 A;2'+BY(<EB!.NT+<$J(Y
MP-B,\*+9L_]*O <LEH*K 8ETPQ%L!#FYFKK(/-^"ZK@F=R!,@<<]4%Y.>/FD
M#@\>$<Z@W=F@+PCUCL R5'T6)0DPI6 5:9Y5GX#/;.NVP+UV#1'TSDARWB.L
MVNT\9V>ZF\(2DSEP-HDE5T&.7_LY1Q'B*\8ADV1</Y$@*Y\KP87"3<V62"N9
MU[#%] X=;#=4#$? 1\J2A(QWAW3*-GB\CH%RC]L,63%C!KE&#6:(3N0XGN"8
M2PWBU/"IRQ9>"TTX-8>%)4= /7[O88T:LKG!GQ, !&R- T KP&^)-)%+BU6*
M_?4?V"OZ[<2-)B%]]NPZM</0I=6X->;LW+@0@*._ Q96=%(4*%G7);KE,6!_
M]NP'B8S$ (]510*UAM=O80I69WS4BF"M*D@<S","5>E(7OZ,'0.>S$$C@P_+
MFWT2)X\%\/SJGSCUIB:!"T(B6L1)\GK\='(WC\Z%5;(^'#,>;D)\ 3"*G=>D
M/[ S%+? =K>C>#J;NJTKRQ3WK4]!==2UE<4G5WKG=N?-6O)ZDH9*_D(_#H=0
M5+6?._0O:XB/ T!XG!N$T=\EGLA.@9/D:JFBG<4<$ WH4>1QH>6X+HU&%P0:
M'PZ_N(6W8(])CLYG6)_AK.I39CQE<-\;K R$O": ;)!&X]42V#VE*U!)7K@%
M<D!R6!G-,&O%487DB\XIXWP.BL82\*=N&%#D_^8S)5)%!6C!?JSH8S #*&!+
M.$A_/VX<DRWA*0<!2'7$U\FIKDRE)8LC<HH+ZQ"57@_B)/FMGO*>?QFKN<WB
M18S%!:9LP;-9$&*S2>%SH?Z#]]XG,"K"OGB4Y&+?,[''L3F0<E.#MJE)#6E2
MN8Y]]E/PE(C'!,#A'+V1 9@":$,JN: $LB_T;4J N2?0PJQYMA,]-BR;6?\6
M[8J\EXP*-"]#7%SP)\3FR+<#?Z79]C,) 'Y@Z87P5K# (G 90Z<'(BTIE5/A
M""*U62'82*HQ+*?@09R;31.,9)*P$?IE!;!"WK0\CB6OC $ X\P6I1R)._H
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
MH. E:RK[06U^YYT_,>G+567<%S;=VLD(\L9857?"B* 6LFW9?1>''Q$(.H'
MX6X-.90OF667YUIM0--JU$8=YZJ31G!"TJ;<6(VS N7LY4V[&:!*N!%+*4J1
M,VEAEN>JD5;()<Q5)7+!#9S<LD7%S>GYV*)A$A_GG9&KUDAPP(@?P#LE[<K
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
M=%J_$&ZGU^^L]TPN,-'+^1R6VN<A?,[*^NVR;FBQ-.^%,Z&U*$PUY2SA$B?
M^%P(O6F@@O8!^?H/4$L#!!0    (  6!85(^W/'210,  "P'   9    >&PO
M=V]R:W-H965T<R]S:&5E=#(Y+GAM;)55WV_C-@S^5PCC'EK J"W;J9,@"= ?
M=]N .RRX=MO#L ?%IF/A9,DGR4W[WX^2DUR*:SKLQ:8H\B,_BJ(6.VV^V1;1
MP7,GE5U&K7/]/$ELU6+'[97N4=%.HTW''2W--K&]05X'ITXF69I>)QT7*EHM
M@FYM5@L]."D4K@W8H>NX>;E%J7?+B$4'Q5>Q;9U7)*M%S[?X@.Z/?FUHE1Q1
M:M&ALD(K,-@LHQLVORV\?3#X4^#.GLC@F6RT_N87O]7+*/4)H<3*>01.OR>\
M0RD]$*7Q?8\9'4-ZQU/Y@/XI<"<N&V[Q3LN_1.W:932-H,:&#])]U;M?<<]G
MXO$J+6WXPFZT+2AB-5BGN[TSK3NAQC]_WM?AQ&&:GG'(]@Y9R'L,%+*\YXZO
M%D;OP'AK0O-"H!J\*3FA_*$\.$.[@OS<:FWH?(U[ :YJ^/A]$#U5W,6@J!\N
M'OE&HKU<)(XB>?NDVJ/>CJC9&526P1>M7&OAHZJQ?@V04(K'/+-#GK?9NXCW
M6%U!SF+(TBQ]!R\_\LX#7OX?O&-82Z[<:_KP]\W&.D,=\\\[H8ICJ"*$*OY_
MB=^J[+M@_H[.;<\K7$9T"2V:)XQ6CRT"6B>H2;&&P6(S2)#4[19T WHPT)_F
M@$>>W"!P"XV6=#GM'&ZLI7-_?.D1[I'P*\'#W5FC$;J&.]WU@T-S@I##"W)C
MX=-@E'"#QZ,(C7CVLH5RO_U[TX@*7_DY#9/][F>D>]5J68/H*-,G]"86'EIM
M?#3B8- /&*&V1*M!KY'>![2A_'W.0;U^D^78S)6F06)=J(BC>HV</>*%4*31
M@R4O>SDGYA5V&XI[:#?ZL!GXZP45X=&.QZ]^+L8'*.+)K*1_&<^F^;FB7,=I
MQB"/9Y/\C<+$>58 BUG!SM4ER\@U(Q@VR^A,%+7J,,XX8D)V%5H*PDK*@K$I
M_&(TK<]T0%[&$\8@NX[S:4D!K>^"JAJZ089FJD_;X(*Q."VSRR!<%_DE/&K'
MY1GLL>X?/':1STA@15P6!;QUI9*3"=:AV88Y;:G&@W+C,#MJCT_!S3@!?YB/
M[\@7;K9"66J0AES3JW(2@1EG\[APN@_S<*,=3=<@MO2<H?$&M-]H[0X+'^#X
M0*[^!5!+ P04    "  %@6%2XYA],P0#  !.!P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970S,"YX;6R-5=MNVT@,_15"Z$,""-'-<AS#-N X+7:!+1 DW2X6
MBWT82[0UJ*31#JDX[=<O1[)5![6-O$ASXSDDSY SVQG[C0I$AM>JK&GN%<S-
M- @H*[!2=&,:K&5G8VRE6*9V&U!C4>6=454&<1B.@TKIVEO,NK5'NYB9EDM=
MXZ,%:JM*V>_W6)K=W(N\P\*3WA;L%H+%K%%;?$;^LWFT,@L&E%Q76),V-5C<
MS+UE-+U/W?GNP%>-.SH:@XMD;<PW-_D]GWNA<PA+S-@A*/F]X K+T@&)&__M
M,;V!TAD>CP_HG[K8)9:U(ER9\B^=<S'W)A[DN%%MR4]F]QONX^D<S$Q)W1=V
M_=DT\2!KB4VU-Q8/*EWW?_6ZS\.1P20\8Q#O#>+.[YZH\_)!L5K,K-F!=:<%
MS0VZ4#MK<4[73I1GMK*KQ8X7*]5H5J7^@3D\FPWOE$5XP!=1JY'<,ZP,,?E0
MR_VX^J+6)=+U+&!A=O9!MF>Y[UGB,RQ1#)]-S07!QSK'_"U ("X/?L<'O^_C
MBX@/F-U $OD0AW%X 2\9\I!T>,D9O"<D5#8K0-7YF_C_6:Z)K5R>?R^PC :6
M4<<R.L/R+#65MR6"V<!QYE>F:EI&.TAP*L47H5WQ3JE1&<X]J4Y"^X+>&W7I
MH&Y^%%WV4]T=RIXBV)A2*I7@2M? A6E),D+74TE*AM5:?#QD73[1';R78FL-
M$7R N[%_=SN2P23R1[<I_(%$4UAF65NUI6)!496QK'^HKFJOQI&?1NDU7*5R
M/HVOWTWH8OH 22I6=VX0^F&<P 41TT'$]%TBYD[%3RVWPK\\]OGCJ[1,.JGA
M1>33&NX9WF0%>P;I%5Q(:Z1&>ARP@>Q=N0'%)]34!$BLJUZ#\_?@;ZF3KHYU
MO?T%)I),1Q,_#"=N%D,4^[>3Q(T3&/GC\02^&''P=#2#6J=$"HYZ7(5VVW5R
MDH#:FOMV-ZP.C\6R[Y$_C_<OS6=EM[HF*'$CIN'-K:AB^^[=3]@T7<=<&Y;^
MVPT+>?#0N@.ROS&&#Q-',#RAB_\!4$L#!!0    (  6!85+7VG(2M 0  , +
M   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;*U6VV[;1A#]E8$:%!;
M6.3R*M<68#N7!F@"(W$;%$4?5N1()$QRE=UE9/?K.[.4&"6FU3[XA=S+S)G+
MV9V=\ZW2=Z9$M'#?U*VYF)36;LYF,Y.7V$ASJC;8TLY*Z49:FNKUS&PTRL(I
M-?5,^'XR:V353A;G;NU&+\Y59^NJQ1L-IFL:J1^NL%;;BTDPV2]\K-:EY879
MXGPCU_@)[>^;&TVSV8!25 VVIE(M:%Q=3"Z#LZN$Y9W 'Q5NS<$8.)*E4G<\
M>5=<3'QV"&O,+2-(^GW%:ZQK!B(WONPP)X-)5CP<[]'?N-@IEJ4T>*WJSU5A
MRXM)-H$"5[*K[4>U_15W\<2,EZO:N"]L>]DDFD#>&:N:G3)YT%1M_Y?WNSP<
M*&3^$PIBIR"<W[TAY^4K:>7B7*LM:)8F-!ZX4)TV.5>U3,HGJVFW(CV[>-=:
MV:ZK98UP:0Q:XT%+1T&V!;Q5JMA6=0TGMY+VS?1\9LDBZ\WR'?I5CRZ>0 \$
MO%>M+0V\;@LLO@>8D:N#OV+O[Y4XBO@*\U,( P^$+_PC>.$0?^CPPB?PAB Y
MXD?)@%>5R6ME.HWPU^726$VGZ.\C9J/!;.3,1D^8_427J^C(CEK!FZJM++[\
MC4[GB MC23^.?0 A#RC-%=TD8\D&V;0EPDK5="6K=@TG54LKJC.4!)+&^QPW
M%AY0:C,] THY-DO40]KAK5;&P+74^H'5+_.\:[I:,O8'LC1L?'9W@E:OW4$F
M"(TD1K?1E-7&P L07A;Y]#\)O#CVIS0*/#'W(3[U@<\S7SC(O##T623-TBDD
M7AR%$/@D<8MYV:I:K1]X-9S#2>@E43!EV'D&$8MH65 9HQ+G&+8\A58V:,A2
M1I9.TE!,:1S$F;-Z([5M'WF:9"1)GRG\_%,F O$+A"3[0;4O<]5LT%*JUQJ1
MJA4=FM2+?!(7WCR)IA!Y49CT 2FNDCOKSC3A"7]GUCI=$0O2C&B#[@YOW"HK
M:ZC&.:4$9IXO I?!P$O8'J4P\<(XA>0T_)&[8/Z,W(6>G^ZX$_.DYRY-HU'N
MYC%YEGIAFCQB+O")T("R2W!]NI*TC_QIZH27</Z(9*8NG0L*]CFI"[PH(U]B
M;QZ,4!?ZY*Y(*601CY G8MKH0[B2^1T%"1$EZB1*#WP(_IO:,/32,'()%DPH
M9U@$E$.F5API0O%0A.)G*D)PV2AMJW]<6N'U/;4$!L<JTU&#W&"<F8W,\6)"
M'81!_14GBS>=Y?(J#RU@;X'>0EL2G69#;SA8]3A74!E 8ZO&'6!I=D7-?%_2
MJ(C]R<6,7R$^VS]6-+X_$56.A">"AW[,PY#/>.+S,((L=&LQ#4*X+9%:H)4E
M#.(FS79<C@8Q7,@CE"4#9<G_IFS_=(WQ<!1EG <*"?*2THO@<D>S?2V@L+K6
MLLWU_KDL.LT[+&:W6']%:/J''OFA'WDSB*@C]'Q[ANU(S7H!<>9%E/H#,:NK
M9<>DT[%X_W#-M::@PTMGP1TGJKXBI>IP!%AP\8H3+XC&J9D==%54_]:N=S3T
MCE(N^@9K6!W:T\N^*_LFWO>V[Z5>5ZV!&E>DZI^F=$]TWR_V$ZLVKD=;*DO%
MU@U+:K%1LP#MKY2R^PD;&)KVQ;]02P,$%     @ !8%A4G5U2)*F @  M@4
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
M!? @R4!;_@>S+L*<2T8H2B=5ACA;BY/P8GRZ4T6G? :2!A0EU/R/\L+S:#*
MUY[7WVF9"G71#@9##$JIZY[^M)\]EUW+_5/O!M<-TP67!@3F9!J<CT<>Z&X8
M=()5==N B;+4SNVVI/F)VBG0?:Z4W0K.03^1X[]02P,$%     @ !8%A4FXG
M=M3: P  R H  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&ULQ59M3^-&
M$/XK([>J0 *_Q3:&)I$"=UPK]5H$A5-5]</&GB0K[%W?[IK O^_LVC$<+[ZJ
M.K5?DGV9>>9EGQG/="O5K=X@&KBO*Z%GWL:8YB0(=+'!FFE?-BCH9B55S0QM
MU3K0C4)6.J6Z"N(PS(*:<>'-I^[L0LVGLC45%WBA0+=US=3#*59R._,B;W=P
MR=<;8P^"^;1A:[Q"<]U<*-H% TK):Q2:2P$*5S-O$9V<9E;>"=QPW.HG:["1
M+*6\M9N?RYD76H>PPL)8!$9_=WB&566!R(W//:8WF+2*3]<[]',7.\6R9!K/
M9/6)EV8S\W(/2ERQMC*7<OL3]O&D%J^0E7:_L.UDD\2#HM5&UKTR>5!ST?VS
M^SX/3Q3R\ V%N%>(G=^=(>?E.V;8?*KD%I25)C2[<*$Z;7*."_LH5T;1+2<]
M,[\RLK@]/*6X2CB3-;VU9BY=>[^S985Z?QH8,F.%@Z*'/.T@XS<@HQ@^2F$V
M&MZ+$LLO 0+R;W RWCEY&H\BOL/"ATET '$8AR-XDR'HB<.;O!7TABD\7+J@
M+]@#<<S 0BDFUNC6?RZ6VB@BS%\CQI+!6.*,)6\9Z^@.<@4NV?!;XQ*\L'SD
MYN&U!(\C+G8E9#%E2R7F<&7SR'/"!:I8,!N$!V0*T#X%4"*Q7J(:D@E< ],D
M6E%U:M@3K;LF7&USI($+PI"M9J+4^R?PZW!_U=U_<K0GZ,4=*JIB>'^/JN :
MX4+Q J$A:2?Z4O(2;=/@8DW$$R[=+:O@%[Y":_4/\EKWN=(4I=&&?+#2Y"_9
M?Q9*= S1P22)X7N((C]/(/6/!^TU/:VU_,-W>1S%/P[_NWOL?2YA+XJ.]R'S
MCR?#9<%$04T#RX 2ND)N@?;2=!_BB7^4_G,/*=G1093EG8='1^1A" OS4NQD
MP+Q#;:T1*KG84!^CC9'N^!6L9]'8\GTI-4+H="!T.DYH^C"4+8%3C)?D"KVS
M=:PC][7@1H]R>Q3<?H-.=,,*G'GTD=&H[M#[DO #OXDDA12B;^];;C:N&"ZO
MKO7_Q/T/EF= ?1CAG'$%-ZQJGY; M=B]Z!L4SI*,'BN-?2+RAYZTT5%"SQ?[
M<0(WG?9>G.7[,,G\-(?S1TYFQ-RCT$_CK]BAR)-\0G;RT*?U"".R@1'9OV?$
M&!=&8;\)%Q;_,1<.OQT94ENW8>KG^<"%%*)TXB?1P 1J0[W((Q&>=[FOLL$9
MZG!?(T/P9+JH4:W=#$5]4;;"=(/&<#J,:8MN.GD4[V:\CTRM.;6H"E>D&E+_
M]$!U<U.W,;)QL\I2&II\W')#HR8J*T#W*RG-;F,-#,/K_&]02P,$%     @
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
M80!\*MT\U[UHL;83SKG06A3V<44)W'XC +\OA-"[%[-!/54?_P]02P,$%
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
M6P(,QN^P1FI+FD>8ML#Z2.6.<45*V"+DZ&:,1U>V14O;T:*VS_A&:"P*;+/
M.@^D,<#YK1#ZV#$+])7C_!=02P,$%     @ !8%A4ED15S;? P  $PX  !D
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
ML".B .CW6\[5ZZ2XIS>?BLM_ 5!+ P04    "  %@6%2>\=QK$X$    #P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6RU5U%OVS80_BN$T0$MD$DB
M[=AQX1A([*W-L Q!LJX/PQYHZ11SD425I.)ZZ(_O458D=:98O_3%EBC>=]\=
M[SZ2BYU43WH+8,CG/"OTY6AK3/DV#'6\A9SK0)90X)=4JIP;?%6/H2X5\*0V
MRK.01=$TS+DH1LM%/7:GE@M9F4P4<*>(KO*<J_TU9')W.:*CEX%[\;@U=B!<
M+DK^" ]@/I1W"M_"%B41.11:R((H2"]'5_3MFDVL03WC+P$[W7LF-I2-E$_V
MY2:Y'$66$600&PO!\>\95I!E%@EY?&I 1ZU/:]A_?D'_M0X>@]EP#2N9?12)
MV5Z.+D8D@917F;F7N_?0!'1N\6*9Z?J7[)JYT8C$E38R;XR102Z*PS__W"2B
M9T G P:L,6"G&HP;@_&I!I/&H$YU> BESL.:&[Y<*+DCRLY&-/M0)[.VQO!%
M8=?]P2C\*M#.+->8=6TJ!9KP(B'7E<8)6I.5S#>BX'9M-/F9_,&5XG:%R.LU
M&"XR_09'/SRLR>M7;\@K(@IR*[+,SEZ$!GE9]#!N.%P?.+ !#@]0!F0<G1$6
ML<AAOO*;_\:+@$0S:T[G#O.UWWP-,7JG+N\A)K/-*&LSRFJ\R1#>ON#:[,DM
M5T]@RHS'<$9NBCCP8(];['&-/1[ ;I?G*OY4"2WJUOG[=QPC-P9R_8_'QZ3U
M,?'ROP,50V&PZ8E,R;,THG@D@.XP)E$8P%(QKD7RH](H"J+H)P^_\Y;?N1?I
M3VEX1LI*Q5OL=Q)CR8D$5%VJ+EX'M'F-9E7P>3F- K8(GQT<IBV'J9?#52ZK
MPJ#N82L4D! CB48".MT3GOR+78O*:%R=L#K@3OMLW%1F+969GTJO$F*IW5YG
M1SF(@K';[T7K]\+K]W:_PO1[UG/> LU_6$W3J).YR$MWQ4N!=2/^P]72,C4[
MKL"I%=%1JL;!W)TJVA-9>D*RR!>R%AH+%ENJ0AZX>1_*5I^11.A2:CN8DLT>
MJRGSY99V8D39C\MN)TMT[,]NOPD)GD::>+!1,1Y=;?"KP&.%<V\X0)_W,D[G
M \5).Q&CWU$Q)6. 1)-4R1S9V%U.V'WN!$('9%L)/49L2#-H)US4KUR_Y&4F
M]P!6-U ?;*HVLJ@T*:7,G$S.CYD,\^C$B_K5"VMQVZ0$$J??Z;'?*+@8\-LI
M%?5+U4<\ =K-)#[T8D\JG21<HC4@EK13+>J7K?LV]=A\0KK#]T-0L@>N?'W3
M21^=>Z'>X?9!D(MM]Q,*<WZ4$7HQ"V;NG+!.&YE?&Z^T!J.]%=$@?%,1DZ'5
M8)TN,K\NGJC*UPW,-^X'99GU3FK?.:I!"DJA;P7/@)+L=,U</3C0"ZQ33.97
MS'=2)CL\,3M=CETN!R21=9+(_)*(9U"96_&) 5?:O<R3XPH+Z/\<A[W;AKT;
MXD'W4> M(8,4K:)@AJJE#M>MPXN197T!V4B#UYGZ<8M75%!V GY/I30O+_9.
MTUYZEU\!4$L#!!0    (  6!85+K31^7S 0  +@6   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0U+GAM;+68;6_B.!#'OXJ%5J=6ZC:Q'0CL4:2VW$-/>WO5
MMKU[<;H7)AG JA.SMBE%N@]_3DAC>B2F1<L;R-/,_#TS_MG)<"75HYX#&/2<
MB5Q?=.;&+#X%@4[FD#%]+A>0VSM3J3)F[*F:!7JA@*6E428"$H:](&,\[XR&
MY;5;-1K*I1$\AUN%]#++F%I?@9"KBP[NO%SXRF=S4UP(1L,%F\$=F(?%K;)G
M0>TEY1GDFLL<*9A>="[QIS$=% ;E$W]R6.FM8U0,92+E8W%RDUYTPD(1"$A,
MX8+9OR>X!B$*3U;'M\IIIXY9&&X?OWC_N1R\'<R$:;B6XB^>FOE%I]]!*4S9
M4IBO<O4K5 /J%OX2*73YBU;5LV$')4MM9%896P49SS?_[+E*Q)8!CEH,2&5
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
MTPF(R0H7J?A*]_^0QB&OM+>D*:_^@WTC:T_ LN""9HVR1) E>?W$OYM '"A
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
M2X7Y!/LR-G M$!="LJP"*P89S<MO_%0)T0+ X 0 50#4!7@G &X%<,\%>!7
M.Q?@5P#3NEWV;H1;8(GG4\[V@.MHE4U?&/4-6NE%<[U0[B57OU*%D_,55VN.
MRY\ YPE8_BCH3JT">0%RM4;?+HC$-!7OP'OP]7X!WKYY!]X FH,O6U8(!1!3
M6RH..I,=5_5NRGKH1#V(P">6RZT RSPAR7$"6Y&O.T"'#F[0:,8%B2^!"R\
M<I S0.CV;#B,!N"+\^&3 ?AR''Y/=@KN#)$_$L.MI],U^=S?3.<%6*4XE\>S
M"OZ[4^'@HR29^'^DF%<7\TPQ[T2QOS@3 NS:*X@<:@VMC#*;;[)I WN<NZ$/
MX=1^;$]7/PH%[B2LHXZH^C55?Y3J'1'B"ES'<9$5*98D46:BC#6F6-O5$-DR
M7]"B\1Y")T0=MH-A@><.TPUJNL$HW2],XO2$LN;9'&(<]*@@123J$.Y'02_T
MO&&^8<TW'.6[:(D)R)-ZBPD"U.7Y:R/LT?(<Q^EP[P>YL!NT"/OKQVL%'?4W
MJ?N;C/>GK!7$BCKAII689;M"#T[T=%0DJHM$?_[9A4YC_,Z+/KU5NJ,I\J.P
M,T4#46$T.?$XP-9;"HZ2_5#PG,J"$\-S39_TM1C3 36IT2O(WA@T=%]6=K<G
M:."@KFD.1+F1?TKVQN#AN,/_LU[3F)RURF%CQ=!_!<$;*X7C7OILP?L.Z;K(
MZPH^X*/0@R<$;WP4CAOI'5&;WBU+$T S1?F1:):CZ[RQ,#AY!=D;,X/1R\H>
M]5]?*/*[[]N!L !&:%AWU)@A&C?#6Y8+R8OR\$+-BRM66X:Q[6GC70C^>>%1
MXV<(O:CP53K_2-&NK0\$A5!O> =E;\P0C9OAL*V;0?K<)P$UKH:\5YB0QN_0
M^-[SF1.RK-*UM89NU-O"V*U#7T;XQIRVA=J:%+DL3T_UW?I$?VW.L9W[-_!J
M49[+FS3EWP2?,-_07*BY6*N4SF6H./'RY%T.)-N9H^4#D^J@:BZW!">$ZP#U
M^YHQ>1CH O7_'_-?4$L#!!0    (  6!85+;5'%\;0(  ",&   9    >&PO
M=V]R:W-H965T<R]S:&5E=#4R+GAM;*U574_;,!3]*U;$ TA O@M%:21H-6W2
M)B$ZMH=I#VYRVU@X<6;?-(Q?/]M)HP !\;"7QA_GG'ONM7V;M$(^J ( R6/)
M*[5P"L3ZRG555D!)U;FHH=([6R%+BGHJ=ZZJ)=#<DDKN!IXW<TO**B=-[-JM
M3!/1(&<5W$JBFK*D\N\-<-$N'-\Y+-RQ78%FP4V3FNY@#7A?WTH]<P>5G)50
M*28J(F&[<*[]JV5L\!;P@T&K1F-B,MD(\6 F7_*%XQE#P"%#HT#U9P]+X-P(
M:1M_>DUG"&F(X_%!_9/-7>>RH0J6@O]D.18+Y](A.6QIP_%.M)^AS\<:S 17
M]I>T/=9S2-8H%&5/U@Y*5G5?^MC7843PHS<(04\(/DH(>T)H$^V<V;16%&F:
M2-$2:=!:S0QL;2Q;9\,J<XIKE'J7:1ZF2UHSI)P]04[68HLME4!6L-?'6^O#
M0K(4"M4IJ?2%.GL'08Y7@)1Q=:)A]^L5.3XZ(4>$5>1[(1I%JUPE+FK#)JR;
M]>9N.G/!&^96D)V3T#\E@1=X$_3EA^G^_#G=U64::A4,M0JL7OB&WATHH#(K
MB,[F605^76\42GTC?[\3)1RBA#9*]($348=ZYZ-H67<B.RG49$T[^=C*FT>\
M3^>S^464N/MQZ5ZC+OWH(AY0S[Q'@_?H7>]?0:DK<IUE3=EPBCH#6@J)[(F:
M-SMEMM.;C6R<S?S8CU^XG8#%?A0'TW;CP6[\7TJM+_^4]_A5"<,XBN<OK$^@
M/"\(7SAW1T_8M,]O5.Y8I0B'K>9YYQ=:0'8MJ9N@J.VKW@C4/<(."]W%01J
MWM\*@8>):13#_T+Z#U!+ P04    "  %@6%2D_19*UT#  #R"@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970U,RYX;6S55DUOVS@0_2N$T$,+9*TO?P:V@=C*
M[@;8;(,:[1Z*'AAI;!&E2"U)Q4FQ/WZ'E*S*J>)UT;WT8HO4O)DW,T_DS/=2
M?=8Y@"&/!1=ZX>7&E)>^K],<"JH'L@2!;[92%=3@4NU\72J@F0,5W(^"8.P7
ME EO.7=[=VHYEY7A3,"=(KHJ"JJ>5L#E?N&%WF'C'=OEQF[XRWE)=[ !\[Z\
M4[CR6R\9*T!H)@51L%UX5^'E=>@ SN(#@[WN/!.;RKV4G^WB)EMX@64$'%)C
M75#\>X U<&X](8^_&Z=>&],"N\\'[[^ZY#&9>ZIA+?E?+#/YPIMZ)(,MK;AY
M)_>_0Y/0R/I+)=?NE^P;V\ C::6-+!HP,BB8J/_I8U.(#B <OP"(&D#T'#!\
M 1 W@/A<P+ !#,\%C!J 2]VO<W>%2ZBAR[F2>Z*L-7JS#Z[Z#HWU8L(*96,4
MOF6(,\LU+9FAG'V!C&SDUNRI I+  RJH1#T8LI;:Z LB4+._D#^I4M1VEKQ.
MP%#&]1O<?;])R.M7;\@KP@2Y99RC O3<-TC/!O'3ALJJIA*]0"6,R*T4)M?D
M6F20'3OP,:\VN>B0W"HZZ3&!=$#B\()$013T$%J?#0]G/?#D?/BT!WY]&KZ!
M$N%!'_FC8L1MIV/G+W[!WXU(90%D8Z@!V]D+LJ*<BA2WW(E$14:NLHS9[Y=R
MDC"=<JDK!9K</]EE*37N_Z9D5:(@T!VO,B9VSA+[QD2%&GI;@E4("H!\_ ,9
MD!N,IC^=X#]L^0\=_^$92M4'I68=I:96J22KE"5E<B!(A<FL3XAUI)F+9(_2
MAV4T&<1S_Z$KCAZC># ^-DJ^-0KCP;0U.LITU&8Z.IGI52&585]<&0D\XIV@
M 8\%D^/)K$L\88F1/UR"FD(8=)E/!K-G-:BM1EVCX;,*])B$_?F/V_S')_._
M?5KCT7]",I/6T>2GE/RTY3_];LGW]7+ZC0CC3B>/0L_:T+.3H8\RE&V&%R1S
M5;&;6ULDK ^0?\A_MBP,OEY(P4_9M+!SI8;_1]NN&S>G^^9W[O8"U,X-51J_
M]$J8^B9L=]O![<J-*\_V5^%E4H]?7]W4T^ M53N&A>"P19?!8((?LZH'K'IA
M9.DFB'MI<!YQCSD.I:"L ;[?2FD."QN@'7.7_P)02P,$%     @ !8%A4IH?
MJ!F% @  +P8  !D   !X;"]W;W)K<VAE971S+W-H965T-30N>&ULC5513]LP
M$/XK5L0#2(6D21L*:B.5=FA(8T)T;)JF/;C)M;%P[,R^-L"OG^VD41$I\-+X
M[/ON^^[LNXXKJ1YU#H#DJ>!"3[P<L;ST?9WF4%!])DL0YF0E54'1F&KMZU(!
MS1RHX'X8!+%?4":\9.SV[E0REAOD3,"=(GI3%%0]7P&7U<3K>[N->[;.T6[X
MR;BD:U@ /I1WREA^&R5C!0C-I" *5A-OVK^<Q=;?.?QD4.F]-;&9+*5\M,9-
M-O$"*P@XI&@C4//9P@PXMX&,C']-3*^EM,#]]2[ZM<O=Y+*D&F:2_V(9YA-O
MY)$,5G3#\5Y67Z')9VCCI9)K]TNJQC?P2+K1*(L&;!043-1?^M3480_0'QP
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
MM$F'[3"@:-?M,.R@V$PL5+8\24[2?S])=HPT4;8LAUB2R9</:8G*-HR_B@I
MHFU-&S%U*BG;6]<5104U%M>LA4:]63)>8ZFF?.6*E@,NC5--W<#S8K?&I''R
MS*P]\CQCG:2D@4>.1%?7F+_= V6;J>,[NX4GLJJD7G#SK,4K> ;YTCYR-7-'
ME9+4T C"&L1A.77N_-M9JNV-P7<"&[$W1CJ3!6.O>O*EG#J>!@(*A=0*6#W6
M, -*M9#"^#UH.F-([;@_WJE_,KFK7!98P(S1'Z24U=1)'53"$G=4/K'-9QCR
MB;1>P:@P_VC3V\8J8M$)R>K!6<UKTO1/O!WJL.?@3TXX!(-#<*Y#.#B$)M&>
MS*0UQQ+G&6<;Q+6U4M,#4QOCK;(AC?Z*SY*KMT3YR?RN*'@')7JH6\K> -##
M5FT0 0)=SD%B0L45^HA>GN?H\N(*72#2H&\5ZP1N2I&Y4A%H';<8HMWWT8(3
MT>907*/0_X "+_ L[K.SW?V;]^ZNRGM,/AB3#XQ>>$)OQFJ=+#8;Z@DHEJH2
M,R:D0#_O%D)RM<E^_25..,8)39S)/XJ\QH6)92M<KQ 9!7WTUGD:)$GFKO?+
M<VP41=%D-'H'-QGA)F?!+5C3J>]N8^L%XOVP<9@>L!T;A6D2V-FBD2TZBZU@
M=4V$[AQ6ON@HM']S$QWP68S2V+/SQ2-??!9?B]\XH]3&%EO8 O^ [=@H4B?$
MSI:,;,G_L"&)M^I4JW.+F*R VUB38U8O.MR#%J,@.5''=&1-SV*%71>"H0O9
M*-.C0^"GZG> :;%*DB@]X'3W.J>^M;YBOB*-0!26RL^[3I0 [V^"?B)9:YKI
M@DG5FLVP4I<G<&V@WB\9D[N)[L_C=9S_ 5!+ P04    "  %@6%25W&(6F,#
M  #'#   &0   'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6RU5TUOVS@0_2N$
M6BP2((A$?=GNV@::N$%;--@@2=O#8@^,-+:)2J1+TK$+],<O22FR$DNT#\W%
M%J5Y;QYGJ$=JO.'BAUP"*+0M"R8GWE*IU3O?E]D22B+/^0J8?C+GHB1*#\7"
MERL!)+>@LO##($C]DE#F3<?VWHV8COE:%93!C4!R799$_+J @F\F'O:>;MS2
MQ5*9&_YTO"(+N /U=74C],AO6'): I.4,R1@/O'>XW=7>&  -N(;A8UL72,S
ME0?.?YC!IWSB!481%) I0T'TWR-<0E$8)JWC9TWJ-3D-L'W]Q'YE)Z\G\T D
M7/+B.\W5<N(-/93#G*P+=<LW'Z&>4&+X,EY(^XLV56P<>"A;2\7+&JP5E)15
M_V1;%Z(%".,>0%@#PI< W .(:D!T+""N ?&Q@*0&),<"TAJ0VMI7Q;*5GA%%
MIF/!-TB8:,UF+FR[+%H7F#*SLNZ4T$^IQJGI%]!MD>AD!HK00IZBMX@R=+_D
M:TE8+L>^TDE,J)_5A!<58=A#.(/L'.'!&0J#,/AZ-T,G;T_GZJ\W>##\NX/M
M\@BV"#]CZV"9'<V"1_TL'XYG&?:S7+E9/A-VC@*7%E^WL.ECV/0QM+11;Q^E
M!#A#MI]G: 8R$W1E7]Y_O^A8]$E!*?]S9(J:3)'-%+M6C#85!AM2( 6B[&JK
MFP,'Z!<0(1URXD9.[*3Z9P6"*,H6J+#",BY5EZ"*);$LQFX?ITD4!&/_L;V,
M.H)P*^B9P*01F#@%?B."DH<"#NBK2-)6:ASOZ>L(ZM67-OK2(PNH>ZIT2V&K
MMRT)72](NE>?,.W+/VCR#YSY[[E)FO&RI$IO60JM60ZBJE97H09[&F(\&N$7
ME=J/BE(<#9]'?=B/>E'QJ_T(O6<G:?>4A\V4A\XIW])L240N.3M#][ EKO=@
MU'".7MD <+#;,X+#%I CHH\RZ$3^1'-UBGXCA\M?U(3ME1M&PRCJKB-N[5[X
M3RZ>BYHN>?8&]2YAO'-?'#IU7%-&RW7IJN[.7W'TVIW<F2=VNV=EYGTF?@",
MK8F[=.P\$KM-\IIL#]5OYV<X?>WZ[;P+N\WK0/W<8(S[=T&_=:0S1_QK(A:4
M2;VRYYHK.!_H>HKJU%P-%%_94]X#5_K,:"^7^DL#A G0S^><JZ>!.3@VWR[3
M_P%02P,$%     @ !8%A4H$%DF6C P  " P  !D   !X;"]W;W)K<VAE971S
M+W-H965T-C N>&ULK59=C]HZ$/TK5M0K[4H+^22$%2!M@:JM]JJHM+</51\,
M&<!J$J>V67;_?<=.R ()*97N2Q(G<X[/?#DSW'/Q4VX!%'E.DTR.K*U2^;UM
MR]464BJ[/(<,OZRY2*G"I=C8,A= 8P-*$]MSG-!.*<NL\="\FXOQD.]4PC*8
M"R)W:4K%RUM(^'YDN=;AQ6>VV2K]PAX/<[J!!:BO^5S@RJY88I9")AG/B(#U
MR'IP[V>N 1B+_QCLY=$ST:XL.?^I%Q_BD>5H19# 2FD*BK<GF$"2:";4\:LD
MM:H]-?#X^<#^SCB/SBRIA E/OK%8;4=69)$8UG27J,]\_QY*AWJ:;\43::YD
M7]HZ%EGMI.)I"48%*<N*.WTN W$$\+T+ *\$>-<"_!+@GP'<X (@* '!M8!>
M"3"NVX7O)G!3JNAX*/B>"&V-;/K!1-^@,5XLTX6R4 *_,L2I\2-@E"7ID 66
M8+Q+@/ UF? TYQED2NJ5,2'PC+6)]YLI*,H2>8N8KXLIN7ES2]X0EI$O6[Z3
M-(OET%8H3-/;JU+$VT*$=T'$%%9=XKMWQ',\IP$^N1KN#AK@TW;X1YIUB7,9
M/KM^]^@4;F,RJHQX548\P^=?X'N0$I1L(?(K(M\0!1>(Y@)RRN)#YB3!Y!"N
MMB"PL(3 ]!+:L%>1L(*Z9ZCU8?,T]@=];V@_':>ER<B)*J,3U4&E.FA5_2D'
M017+-B0Q=2=TIW?XNK/#Q66]05V*TPO=,\%U*Z\?.?ZIU;1NY8:#H'=J-:M;
M.<V>]RK/>U=Z;CKNCCPRNF0)4R]W9%(D[(XL%%60ZMQA9[YC&<U6C"9DSB4S
M!^_WV;/2Q_@2._F12?6C*5CM.G:RLZ$TO_^D2^6@@8$L-33UY_](>!*ZL I=
MV-HS1Z3D^\-2*H$_H!\MQ/V*N-^>DY-V25ZW:0IKOUXWT7G93.I&7N2%S943
M52JCO^J9/^@LR,(C"8'C!N&9T+J5[_NNUZQT4"D=M"K]PA56ZU4J![5 !>Y@
M<-[1=2L_=/WHK*/K5CA(]<X\GM6M+G2TZ[S^79U6?[^9007B#GW"%&WP. ,]
MO;VF2H%(R<T+4"%O&W^<[?RN0PR6#$C*,[65Q(U(3%^:(CJYEJM_X H;J$X#
M<31FN'\7B)C)%=]A4V'E0J/G[81!M^?\T^CEGW#]<USADGTT1.D9^5\J-BR3
MF*<U$CG=/A:&*,;.8J%X;N:J)5<XI9G'+8[J(+0!?E]SK@X+/:I5P__X-U!+
M P04    "  %@6%2)FVA%5D#  #9"@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970V,2YX;6RU5DUOVS@0_2N$T$,+))&H+UN!;:"U431 "P1-TQZ*/3#2."9*
MB5J2BM-_WR&ER$XE.<$">[%%D8_OS5!\,XN]5+_T#L"0QU)4>NGMC*DO?5_G
M.RB9OI U5#BSE:ID!H?JWM>U E8X4"G\, A2OV2\\E8+]^Y:K1:R,8)7<*V(
M;LJ2J=\?0,C]TJ/>TXNO_'YG[ M_M:C9/=R N:VO%8[\?I>"EU!I+BNB8+OT
MWM/+-4TMP*WXSF&OCYZ)#>5.RE]V<%4LO< J @&YL5LP_'N -0AA=T(=_W:;
M>CVG!1X_/^W^T06/P=PQ#6LI?O#"[);>W",%;%DCS%>Y_P1=0(G=+Y="NU^R
M[]8&'LD;;639@5%!R:OVGSUVB3@"T'@"$': \+6 J -$+M!6F0MKPPQ;+93<
M$V57XV[VP>7&H3$:7MECO#$*9SGBS.HS8 XT.2<W^($4C0 BM^0+KWC9E,1-
MDIK]QG,SFMQ6!2C2(=YNP# N]#O$WMYLR-LW[\@;PBOR;2<;S:I"+WR# BV-
MGW=B/K1BP@DQ&\@O2$3/2!B$P0A\_6HXS9[#?4Q+GYNPSTWH]HLF<Z,UP%D;
M\1G9@,X5K]W7]_,SKB57!DK]SPFFJ&>*'%,\P83QTK%TM:C$H>R%?%B=9S0)
M DS.PPA=W-/%+]&%8W0M*CVBBY,XGJ1+>KKD);IHC"X9TLWCZ>C2GBY]B2X>
MHTN'=+-L-DDWZ^EF+]$E8W2S(5TZHY-T\YYN?I+NVP[0KK<&U!CI?$ :A8$]
MP0G6K&?-3K-*PP39-J918&W(V8-X9@]C<K)A#K)L'D[*H<'!MH*3@NS=O"2\
MK!L#!=H.Y@.T&;6<8"#BG-(LC:95')DG?45:<EF6W-@DD,99I$O,J!8Z/)\Y
MFM6TE(-7T?"T%*@8"K@J:R4?P(EY+[!(LRH?EQ*.W+Y)&0<CHZ>=;-TH9;EK
MJ9Q18C5I/Q/!V1T7W' 8+PS10 Y%,^CE=/X_-,1P'J83H@]V2$_[X;6"FO&"
MP"-V1[:X8?DBTN!-PQ+<QL.P%/S]C3]G.[@A3?[GLD(/5DA/>^%_/HYTD.B1
M.N ?]1VVZ?O"U#VO-%)L$19<S!"OVCZJ'1A9NU;D3AIL;-SC#GM/4'8!SF^E
M-$\#V]WTW>SJ#U!+ P04    "  %@6%2V^49V$8%   !&   &0   'AL+W=O
M<FMS:&5E=',O<VAE970V,BYX;6RU6%UOVS84_2N$L0(=D%DBZ<_",9#$"18@
M18.DZ1Z&/= 2;1.51)6DDG38C]^E))O^I%P#]H,MR;Q'YQZ2AY<<O4GU72\X
M-^@]33)]V5H8DW\* ATM>,IT6^8\@W]F4J7,P*V:!SI7G,5E4)H$) Q[0<I$
MUAJ/RF>/:CR2A4E$QA\5TD6:,O7SFB?R[;*%6\L'3V*^,/9!,![E;,Z?N7G)
M'Q7<!2N46*0\TT)F2/'99>L*?[JE0QM0MO@F^)M>NT8VE:F4W^W-?7S9"BTC
MGO#(6 @&/Z_\AB>)10(>/VK0UNJ=-G#]>HE^5R8/R4R9YC<R^4O$9G'9&K10
MS&>L2,R3?/N3UPEU+5XD$UU^H[>Z;=A"4:&-3.M@8)"*K/IE[[40:P$$'P@@
M=0 Y-H#6 ?38@$X=T#DVH%L'E*D'5>ZE<!-FV'BDY!M2MC6@V8M2_3(:]!*9
M'2C/1L&_ N+,^$%F\S\,5RF:\*E!'R?<,)'HWT>! 73;)HAJI.L*B1Q FO"H
MC4CG I$0#UZ>)^CC;_M0;HY H=BBD/ PRL2/\LQSX#)L0KD]F@L>[D4)0.V5
MY&0E.2EAZ4%8$/H^TT85,.,,^OL!&J![PU/]CP>>KN!I"=\Y '_#<F%8(O[E
ML9TQ7"FXF(F,99'(YBB2VNA]O5NA=DM4:R^OXTYH/Z/@=0^;SHI-Q\\&WBX,
MFK%(),+\].3772%VSR%?;P7?\Q*^O;[_.KE"1B*1P;S@VB#^#K:L.5(,O&V?
M=!5B;TTZNE^U_HI$WTOBKLABZ#4!WU/#XXQK;1G5W [RJ$!QN$ZDW=U/9;"B
M,O!2N<JR@B4PDB)8AT $8=>''X6PHRKAKUS!<G*8486-\1JCL$T.4!JN* V]
ME)Z.?_]P5Q%R2!$<.L\,_=V32*E0GA0:K.$#DC-D%MRNM<O+2*93B(D1+,W:
ML"RV,R]7 J9@#F*R5!;9_EE8OWE]&I(P]$Q$O.;TV-^3$<BF1;D^YX6*%K8[
M@53$T:Q,",H.%+:[T,6-?5VVQ02E,C,+E',E))B,3*#NL*F6&B02(&)F^-X\
M\:_FZ>P5DW,8X&T->ZP#8F?(N,&1-ST0_8?N> QB)F@&\UQ;13D\_"PRD1:I
MQ\.P<UW<.8=)8F?"N.O-Z1M3@DV3<CCP"UNK"8VJ6M4.APA>NK?;_:@P^L(/
M/G[.Q;'?QH_5G+TW:>X\&_?/HKES8NRWXE,U]Z/B=NC7W-DR]OORKN8/]]=?
MGHX:VL29+PG/(3-Q/DG\/GFBS VHN&%HD[7RL<'?#LO<.)J),RU"SR*SLRCB
MKPQ/E=F/2AI&,W$.1_Q>M"OS5[M-2B3+?/C.H4CO+ ([/R+^(O)QN]Y <<&1
MK2Q5E<K#3BK5#JW&75\(W1I8;;_V-.D,\.9J6:VJ=<O>1LM^]_"Z2IP?$K]S
MG;K3J6%W:X]MZH,=ZL13$!!GE.17C?*)O\KDM61]](:).LND9[%,ZBR3^LVM
M-AXTE4I5%6#$<LA@FW^]T]RM_;K>VH\Z;Z0-WBC35)@RR1GG2Q^!LG4O#S^6
MW:CXK(2N[<@;"L -5A>HT+:0-@O872YD$I?%-.U#Y5V98"Z%G:W15E1#,KO[
M=^H7U3DU]7OJ2U9HF%G++KW88M9$S \>MFG?+[-S;.IW[%,-;U+C;KC9$/NT
M<RY/&^K04T]C>DT>M4G(K0K4ORI\@;V90DQKOOWB34#GPG1P%G-Q;DD;W/+$
M_5P-NSLCMB0,UDY/[>'X9Z;F(M.PXYU!8-CN X*JSINK&R/S\D!U*HV1:7FY
M@*J%*]L _I]):98W]HQV=>H__A]02P,$%     @ !8%A4GXDW)N0 @  J 8
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
M*Z3)SBUS&N]!6P-ZOE$*'RZL@^X/P_P_4$L#!!0    (  6!85(L'Q:+9P,
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
M^>]/GU*F2-NL0F-BM*X+.TM69:JS$:@6=B.\.U3!1O$-CLNE4WGJHAYL9E6
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
MF6Z@?K_G7#[=Z %VI=IG_P%02P,$%     @ !8%A4B=E6TX5 P  -0H  !D
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
M J&9%$1!L0ZNXD]I[ #NB^\,COJD36PH6RD?;>=+O@XBZQ%PR(REH/CW!#?
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
M1_7U!5P;J.=[QN3'0)_OF^^YY7]02P,$%     @ !8%A4OY8KM.A @  ? <
M !D   !X;"]W;W)K<VAE971S+W-H965T-S@N>&ULG55-;Z,P$/TK%NJAE=I
M(*'9*D%JPJZVATI1O_:PVH,#$[!J[*QM0OKOUS:$)@U)J[V /]Y[,\\#XW'%
MQ:O, 13:%)3)B9,KM;IQ79GD4&#9XRM@>F?)18&5GHK,E2L!.+6D@KJ^YX5N
M@0ESHK%=FXMHS$M%"8.Y0+(L"BS>ID!Y-7'ZSG;A@62Y,@MN-%[A#!Y!/:_F
M0L_<5B4E!3!).$,"EA/GMG\3AP9O 2\$*KDS1L;)@O-7,[E+)XYG$@(*B3(*
M6+_6, -*C9!.XV^CZ;0A#7%WO%7_8;UK+PLL8<;I+Y*J?.*,')3"$I=4/?#J
M)S1^AD8OX53:)ZH:K.>@I)2*%PU99U 05K_QICF''4(_/$+P&X+_D3 X0@@:
M0O!5PJ A#.S)U%;L.<18X6@L>(6$06LU,["':=G:/F&F[(]*Z%VB>2JZ8PDO
M #WA#4ATA68Y9ID>$89>,"VQK<TMU1\'9@F@\Q@4)E1>:.CS8XS.SR[0F0$_
MY;R4F*5R["J=E=%VDR:#:9V!?R2#OH_N.5.Y1-]9"NF^@*OMM)[\K:>I?U(Q
MAJ2'@OXE\CW?ZTAH]F5Z_UL'/?XZ?73"3=!6*+!ZP1&];4GNNDOR^X%3BO0_
M4&&1_CD1;]#&&]AX@R/QWH/@;9!+A!5:0$88(RQ#?(G> (NN4M?20RMM.LXZ
MT@58[Y[](<(//,_?1\5=J)%_W:+VG U;9\.3SG1E=&>48#[8]:'++C^U8'C"
MSR'BJLM0!VSD#[O]A*V?\+\J!2P]5:/PTQI]BH@/$?NF:S_N3E\J0&2VOTN4
M\)*I^G=N5]LKY-9VS@_K4WVUU#?!NTQ]+]UCH3]+B2@LM:37N]8YB;K7UQ/%
M5[;[+;C2O=0.<WT]@C  O;_D7&TG)D![X4;_ %!+ P04    "  %@6%2?>*9
MK-\"  #*!P  &0   'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6R=54UOVS ,
M_2N"T4,+=/5''*<MD@!-W6$]% C2=CL,.R@V$PN5I4R2FW2_?I3L>/E&L8LM
M47Q/?*)$]I=2O>D"P)!5R84>>(4QBUO?UUD!)=57<@$"5V92E=3@5,U]O5!
M<P<JN1\%0>*7E EOV'>VL1KV964X$S!61%=E2=7'"+A<#KS06QLF;%X8:_"'
M_06=PS.8U\58X<QO67)6@M!,"J)@-O#NPMLTL?[.X3N#I=X8$ZMD*N6;G3SF
M R^P 0&'S%@&BK]WN ?.+1&&\;OA]-HM+7!SO&;_ZK2CEBG5<"_Y#Y:;8N!=
M>R2'&:VXF<CE-VCT="U?)KEV7[)L? ./9)4VLFS &$')1/VGJ^8<-@!A<@00
M-8!H%Q ? 70:0.>S@+@!Q.YD:BGN'%)JZ+"OY)(HZXUL=N .TZ%1/A,V[<]&
MX2I#G!D^BDR60%[H"C3Y0EZ%@DS.!?L#N362$0B8,:/)>0J&,JXOK-=S2L[/
M+L@988*\%++25.2Z[QL,R-+Z6;/YJ-X\.K)Y&)$G*4RAR8/((=\F\%%)*R=:
MRQE%)QE3R*Y()[PD41 %!P*Z_S0\O#D 3S\/OSZAIM,FI^/X.D?X)I@+D3'.
MJ'LC<G8\/Y?D897Q*F=B3NY*60E,V1@4IDQ8DY&X3O'^-+ )F$H)37Y.).<$
M7]"2JOS7B9#C-N38A1P?"7DK0(,[3>L \3]GPL6",CZ JD/7I>;N.FY;L-Z'
M<1R%??]],X7[3M%-K[?ME!YP"H-NZ[2EK=MJZY[4AF\%*ZL&_<4*6TC-;%JT
M?019I10(<U1839QLA!/V[ 7=$G; *8[C'6'[3M>]Z+"NI-65_%_.0.2GLI7L
MG7$2QKO9VG?:3VFZ[[25TEJ5OU'E2E!SURTTR>QEKRM$:VT;TIVKPSOV$3:J
MNJ_\HZF[W!-5>$LUX3!#RN"JAR&ING/4$R,7KI9.I<'*[(8%-EM0U@'79U*:
M]<1NT+;OX5]02P,$%     @ !8%A4OJ;0Y;T @  _@D  !D   !X;"]W;W)K
M<VAE971S+W-H965T.# N>&ULM59=;YLP%/TK%MI#JVW%YILJB=0TFU9IU:)V
M[1ZF/5"X":B ,]LDW;^?;0A)"$%5I;Z ;<XY]]YC9-_1AK)GG@((]%+D)1\;
MJ1"K2]/D<0I%Q"_H"DKY94%9$0DY94N3KQA$B285N6EA[)E%E)7&9*37YFPR
MHI7(LQ+F#/&J*"+V;PHYW8P-8FP7[K)E*M2".1FMHB7<@WA8S9F<F:U*DA50
M\HR6B,%B;%R1RQFQ%4$C'C/8\+TQ4J4\4?JL)C?)V, J(\@A%DHBDJ\U7$.>
M*R69Q]]&U&AC*N+^>*O^51<OBWF*.%S3_%>6B'1L! 9*8!%5N;BCFV_0%.0J
MO9CF7#_1IL9ZKH'BB@M:-&2909&5]3MZ:8S8(Q#O!,%J"%:7X)P@V W!?BW!
M:0B.=J8N1?LPBT0T&3&Z04RAI9H::#,U6Y:?E6K?[P637S/)$Y,[6$-9 8K*
M!/T0*3!T4]9_D]J5LQF(*,OY.?J,'NYGZ.S#.?J LA+]3&G%)8>/3"&S4%IF
MW$2<UA&M$Q&)A6YI*5*.OI0))(<"IDR_K<':UC"U!A5G$%\@FWQ"%K9P3T+7
MKZ:3L(<^>ST]&*C&;G?$UGKV";TYHTD5BX-]^/U=@M"-@(+_&0CAM"$<'<(9
MWO2^O:N)KB:J,V,]L0G&KC<RU_N.'L,LU\/$.H3-CF$DQ-@G+>P@?;=-WQU,
M_YHR0)SFE?*&#_CAM8+>>UGNMR'\MUI>$[U]DS .[:!C^3$L"-R =!P_1OG8
M=<)^PX,V^6 P^<<HK^ CXL#660Q#CH>M8OA>CA.\.]KP6SUOF >FARYQNO]Y
M'\ZUP]#IV-Z'(S;VK7[CR=[Q3 9KT&?RD!O63LEZ-\MW9Q>QWVRY?7P8V*%O
M=1WO@SFVWS7\&.8Y+N[8;>Y=C 6PI6XP.(II58KZ?FE7VR;F2E_=G?6I:F[T
MA;N3J3NCVX@MLY*C'!92$E_X,B56-QOU1-"5OGZ?J)"7N1ZFLD$#I@#R^X)2
ML9VH &W+-_D/4$L#!!0    (  6!85(;I8(Y2 (  )L%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#@Q+GAM;(U436_;, S]*X+10PMLD;^2M85CH(DW;(<
M08MNAV$'Q69BH;*424S2_?M)LN.E'\ERL46)[SU2%)GME'XR-0"2YT9(,PYJ
MQ/4MI::LH6%FH-8@[<E2Z8:A-?6*FK4&5GE0(V@<AB/:,"Z#//-[<YUG:H."
M2YAK8C9-P_2?"0BU&P=1L-^XYZL:W0;-LS5;P0/@XWJNK45[EHHW( U7DFA8
MCH.[Z+9(G;]W^,YA9P[6Q&6R4.K)&=^J<1"Z@$! B8Z!V=\6IB"$([)A_.XX
M@U[2 0_7>_8O/G>;RX(9F"KQ@U=8CX/K@%2P9!N!]VKW%;I\AHZO5,+X+]FU
MOD.K6&X,JJ8#6[OALOVSY^X>#@#1Z @@[@#Q:T!Z!)!T@.1<0-H!_%73-A5_
M#P5#EF=:[8AVWI;-+?QE>K1-GTM7]@?4]I1;'.;W@%R#K2.2N6#2D,L"D'%A
MKLA'\OA0D,N+*W)!N"0S+H2ME,DH6EV'IF6G,6DUXB,:44QF2F)MR&=90?62
M@-J ^ZCC?=23^"1C >6 )-$'$H=Q^$Y T[/AT<T[\.)\^/6);)*^!HGG2_Y?
M@PE(6'(TY.?=PJ"V7?'KA$#:"Z1>(#TBD(;1$RF9J4EIZZ#Y8H/'*MD2W7@B
M-S*V>3*(,[H]O-RW/O%@^-*G>.L3#4:]3YL%/7BV#>B5;W]C8]Q(;-]"O]M/
MF#O?6*_V)W;RM(/B'TT[MF9,K[A]U0*6EC(<?!H&1+>CH#50K7US+!3:5O/+
MVDY/T,[!GB^5PKWA!/IYG/\%4$L#!!0    (  6!85)).:GU4@(  %X,   -
M    >&PO<W1Y;&5S+GAM;-676VO;,!B&_XI0QFAAU+&SI.UJ&[9"8;".0G.Q
MNZ+8LBW0P9/ES.FOGPZ.[:1U";W8DEQ$WT%ZOE>6'"EAI384/Q88*] PRJL(
M%DJ57SRO2@K,4'4A2LQU)A.2(:5=F7M5*3%**S.(42^83A<>0X3#..0UNV.J
M HFHN8K@O L!UWQ/(^@O/D/@<+<BQ1%\.OOXNQ;JY@-P[>339#)].K_9CY_9
MQ#GT7H7.#X!>3/5GE&RS8_C%8?BWX&/HRX/0;Y#'P%>[X!ZT,]!K%RT.,\'[
MM9M!%]!DQ#!8(QK!6T3)2A(S*D.,T(T+!R:0""HD4'K3Z%*^B53/+NT[S^RG
MEL,(%]+6=A7<]ZKMOI?8>D8@H;03&$ 7B,,2*84EO]..[6R#+U*@M9>;4BO,
M)=KXP1SV VRCBZR$3+'LROAP&XI#BC,C1Y*\,*T2I6>22@FFC92@7'!D-6Q'
MM(;&)IC21_.R_<IVV$TV6+.I63'>F5I0:SJ,<PQ_2'/L(39X%Q>49"W4MUI/
MAUO?;#+\('%&&NLW62=@C.Z/TU%9TLU72G+.L)O\P07C$&W'@4)(\JRKF:V2
MZ "6$*RQ5"091OY(5"YQH[;;J<G&-0<GJ/G?/N<<<RP1'8K6>_^8G_*[%;>G
MT__0;']6]A6_*G)V>?P:VQ/YV$4N3D'D22SWU?&+G%T?I4:O/;\'EX2=*T(7
M!>8J%L&?YE)'^Z)@51.J"&^]@J0IYB]N"AJOT$I?]G?XNG^*,U13M>R2$>SM
M>YR2FEUWO1[,@VA[]?8/,SU_80OV_RCBOU!+ P04    "  %@6%2EXJ[',
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
M A0#%     @ !8%A4@=!36*!    L0   !               ( !     &1O
M8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  %@6%2N02>HN\    K @  $0
M            @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    "  %
M@6%2F5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE;64O=&AE
M;64Q+GAM;%!+ 0(4 Q0    (  6!85)Q4.?;1P<  &X=   8
M  " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    "  %
M@6%2&A\S9%D(  "8*   &               @(&+#P  >&PO=V]R:W-H965T
M<R]S:&5E=#(N>&UL4$L! A0#%     @ !8%A4B8E!M54 P  90X  !@
M         ("!&A@  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0
M   (  6!85*[*RVC504  $P4   8              " @:0;  !X;"]W;W)K
M<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  %@6%2-Y\4:LP"  #)!P
M&               @($O(0  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L!
M A0#%     @ !8%A4LI+;&8V"   RRP  !@              ("!,20  'AL
M+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    (  6!85+F+GS.'@H
M +LN   8              " @9TL  !X;"]W;W)K<VAE971S+W-H965T-RYX
M;6Q02P$"% ,4    "  %@6%2<A,IKYH"  !S!P  &               @('Q
M-@  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ !8%A4G9Y
M/$3&!0  OPT  !@              ("!P3D  'AL+W=O<FMS:&5E=',O<VAE
M970Y+GAM;%!+ 0(4 Q0    (  6!85(5KPRC$B@  *&$   9
M  " @;T_  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @
M!8%A4LDR*!'3"0  PQ<  !D              ("!!F@  'AL+W=O<FMS:&5E
M=',O<VAE970Q,2YX;6Q02P$"% ,4    "  %@6%2PS:^D> )  #''   &0
M            @($0<@  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4
M Q0    (  6!85('F.4.CP,  -,'   9              " @2=\  !X;"]W
M;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ !8%A4NWMM7)2 P
MKP@  !D              ("![7\  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX
M;6Q02P$"% ,4    "  %@6%2A])6YS4%  !H#   &0              @(%V
M@P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    (  6!85+Z
M$=G_E (  +L%   9              " @>*(  !X;"]W;W)K<VAE971S+W-H
M965T,38N>&UL4$L! A0#%     @ !8%A4G/:9?XP!   B@D  !D
M     ("!K8L  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4
M"  %@6%2H+S-KPL*   9&P  &0              @($4D   >&PO=V]R:W-H
M965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    (  6!85+^)%//O0@  .P4   9
M              " @5::  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L!
M A0#%     @ !8%A4IB19EFQ"0  VAP  !D              ("!2J,  'AL
M+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    "  %@6%2YQ9L84X+
M   L)P  &0              @($RK0  >&PO=V]R:W-H965T<R]S:&5E=#(Q
M+GAM;%!+ 0(4 Q0    (  6!85(9O)=BR0D  )T9   9              "
M@;>X  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ !8%A
M4D^+&FOB @  ,@8  !D              ("!M\(  'AL+W=O<FMS:&5E=',O
M<VAE970R,RYX;6Q02P$"% ,4    "  %@6%2">_(F+L"  #Y!0  &0
M        @('0Q0  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0
M   (  6!85*4%=H3_2\  ."F   9              " @<+(  !X;"]W;W)K
M<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ !8%A4KP)(+/B!0  + \
M !D              ("!]O@  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q0
M2P$"% ,4    "  %@6%2S3[ ;3,$  #E"   &0              @($/_P
M>&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    (  6!85+2?&5X
M]P4  $P6   9              " @7D# 0!X;"]W;W)K<VAE971S+W-H965T
M,C@N>&UL4$L! A0#%     @ !8%A4C[<\=)% P  + <  !D
M ("!IPD! 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    "  %
M@6%2XYA],P0#  !.!P  &0              @($C#0$ >&PO=V]R:W-H965T
M<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    (  6!85+7VG(2M 0  , +   9
M          " @5X0 0!X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#
M%     @ !8%A4G5U2)*F @  M@4  !D              ("!214! 'AL+W=O
M<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    "  %@6%2]<=M.MP#   0
M"0  &0              @($F& $ >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM
M;%!+ 0(4 Q0    (  6!85+8#CW@C0(  )T%   9              " @3D<
M 0!X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ !8%A4FXG
M=M3: P  R H  !D              ("!_1X! 'AL+W=O<FMS:&5E=',O<VAE
M970S-2YX;6Q02P$"% ,4    "  %@6%2XO\REE$&  #^$   &0
M    @($.(P$ >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    (
M  6!85)FYR"5RP(  ,<%   9              " @98I 0!X;"]W;W)K<VAE
M971S+W-H965T,S<N>&UL4$L! A0#%     @ !8%A4E8.] D: P  JPD  !D
M             ("!F"P! 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"
M% ,4    "  %@6%2^AC_/\ %  !A%P  &0              @('I+P$ >&PO
M=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    (  6!85)5^31_I@(
M #P)   9              " @> U 0!X;"]W;W)K<VAE971S+W-H965T-# N
M>&UL4$L! A0#%     @ !8%A4@Q]'U=8 P  10H  !D              ("!
MO3@! 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    "  %@6%2
M61%7-M\#   3#@  &0              @(%,/ $ >&PO=V]R:W-H965T<R]S
M:&5E=#0R+GAM;%!+ 0(4 Q0    (  6!85)XJH]CRP,  #8.   9
M      " @6)  0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%
M  @ !8%A4GO'<:Q.!     \  !D              ("!9$0! 'AL+W=O<FMS
M:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  %@6%2ZTT?E\P$  "X%@
M&0              @('I2 $ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+
M 0(4 Q0    (  6!85(!C%C>6@(  +4%   9              " @>Q- 0!X
M;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ !8%A4IA6GHNL
M!   BQ0  !D              ("!?5 ! 'AL+W=O<FMS:&5E=',O<VAE970T
M-RYX;6Q02P$"% ,4    "  %@6%2\MM_Z!\$   >$@  &0
M@(%@50$ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    (  6!
M85)@@!)H+P,  +\)   9              " @;99 0!X;"]W;W)K<VAE971S
M+W-H965T-#DN>&UL4$L! A0#%     @ !8%A4LH\)!)T!@  :S8  !D
M         ("!'%T! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M    "  %@6%2!6HSXPX$   +$0  &0              @(''8P$ >&PO=V]R
M:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    (  6!85+;5'%\;0(  ",&
M   9              " @0QH 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL
M4$L! A0#%     @ !8%A4I/T62M= P  \@H  !D              ("!L&H!
M 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    "  %@6%2FA^H
M&84"   O!@  &0              @(%$;@$ >&PO=V]R:W-H965T<R]S:&5E
M=#4T+GAM;%!+ 0(4 Q0    (  6!85*X:_ED$P<  .4O   9
M  " @0!Q 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @
M!8%A4DFJ5:<! P  (PD  !D              ("!2G@! 'AL+W=O<FMS:&5E
M=',O<VAE970U-BYX;6Q02P$"% ,4    "  %@6%2+<6:"GL"   B!@  &0
M            @(&">P$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4
M Q0    (  6!85('BK^RI (  )H'   9              " @31^ 0!X;"]W
M;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ !8%A4E=QB%IC P
MQPP  !D              ("!#X$! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX
M;6Q02P$"% ,4    "  %@6%2@0629:,#   (#   &0              @(&I
MA $ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    (  6!85(F
M;:$560,  -D*   9              " @8.( 0!X;"]W;W)K<VAE971S+W-H
M965T-C$N>&UL4$L! A0#%     @ !8%A4MOE&=A&!0   1@  !D
M     ("!$XP! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4
M"  %@6%2?B3<FY "  "H!@  &0              @(&0D0$ >&PO=V]R:W-H
M965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    (  6!85*I;Q(!M ,  #P,   9
M              " @5>4 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L!
M A0#%     @ !8%A4BP?%HMG P  A \  !D              ("!0I@! 'AL
M+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    "  %@6%28]$#,>4"
M   $"0  &0              @('@FP$ >&PO=V]R:W-H965T<R]S:&5E=#8V
M+GAM;%!+ 0(4 Q0    (  6!85(^)Z)9. (  .X%   9              "
M@?R> 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @ !8%A
M4DHGG<JM @  N 8  !D              ("!:Z$! 'AL+W=O<FMS:&5E=',O
M<VAE970V."YX;6Q02P$"% ,4    "  %@6%27H 6FH<$  #V$0  &0
M        @(%/I $ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0
M   (  6!85*9H>,H&@0  .<0   9              " @0VI 0!X;"]W;W)K
M<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ !8%A4B!EOY8Q P  2 H
M !D              ("!7JT! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q0
M2P$"% ,4    "  %@6%2:G1R&N(&  "V+0  &0              @('&L $
M>&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    (  6!85(G95M.
M%0,  #4*   9              " @=^W 0!X;"]W;W)K<VAE971S+W-H965T
M-S,N>&UL4$L! A0#%     @ !8%A4H'/R%<$!   2@\  !D
M ("!*[L! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    "  %
M@6%2.KZWX8H#  !C#0  &0              @(%FOP$ >&PO=V]R:W-H965T
M<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    (  6!85+FQ&7;(@,  '$*   9
M          " @2?# 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#
M%     @ !8%A4B&HO>WZ P  VPT  !D              ("!@,8! 'AL+W=O
M<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    "  %@6%2_EBNTZ$"  !\
M!P  &0              @(&QR@$ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM
M;%!+ 0(4 Q0    (  6!85)]XIFLWP(  ,H'   9              " @8G-
M 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @ !8%A4OJ;
M0Y;T @  _@D  !D              ("!G] ! 'AL+W=O<FMS:&5E=',O<VAE
M970X,"YX;6Q02P$"% ,4    "  %@6%2&Z6".4@"  ";!0  &0
M    @('*TP$ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    (
M  6!85)).:GU4@(  %X,   -              "  4G6 0!X;"]S='EL97,N
M>&UL4$L! A0#%     @ !8%A4I>*NQS     $P(   L              ( !
MQM@! %]R96QS+RYR96QS4$L! A0#%     @ !8%A4E%0 @_Z!0  ;34   \
M             ( !K]D! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    (  6!
M85*KG#%+;@(  -HO   :              "  =;? 0!X;"]?<F5L<R]W;W)K
M8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    (  6!85)$Y-]8'@(  )<N   3
M          "  7SB 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !9 %D
*9A@  ,OD 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.4</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>285</ContextCount>
  <ElementCount>505</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>86</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1003004 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedStatementsofOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1004005 - Statement - Consolidated Statements of Comprehensive Income (Loss)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss</Role>
      <ShortName>Consolidated Statements of Comprehensive Income (Loss)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1005006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity (Deficit)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1006007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1007008 - Statement - Consolidated Statements of Cash Flows - Reconciliation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation</Role>
      <ShortName>Consolidated Statements of Cash Flows - Reconciliation</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/NatureofBusiness</Role>
      <ShortName>Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2103102 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2111103 - Disclosure - Divestures and Business Combinations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/DivesturesandBusinessCombinations</Role>
      <ShortName>Divestures and Business Combinations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2116104 - Disclosure - Investment Securities and Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements</Role>
      <ShortName>Investment Securities and Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2122105 - Disclosure - Property and Equipment, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/PropertyandEquipmentnet</Role>
      <ShortName>Property and Equipment, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2125106 - Disclosure - Capitalized Software Development Costs, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet</Role>
      <ShortName>Capitalized Software Development Costs, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2130107 - Disclosure - Intangible Assets, net and Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill</Role>
      <ShortName>Intangible Assets, net and Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2135108 - Disclosure - Accrued Employee Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpenses</Role>
      <ShortName>Accrued Employee Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2138109 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2143110 - Disclosure - Long-term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LongtermDebt</Role>
      <ShortName>Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2147111 - Disclosure - Commitment and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CommitmentandContingencies</Role>
      <ShortName>Commitment and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2149112 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2154113 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2161114 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2169115 - Disclosure - Revenue and Other Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformation</Role>
      <ShortName>Revenue and Other Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2172116 - Disclosure - Retirement Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RetirementPlans</Role>
      <ShortName>Retirement Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2312302 - Disclosure - (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/Tables</Role>
      <ShortName>(Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2317303 - Disclosure - Investment Securities and Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables</Role>
      <ShortName>Investment Securities and Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2323304 - Disclosure - Property and Equipment, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/PropertyandEquipmentnetTables</Role>
      <ShortName>Property and Equipment, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/PropertyandEquipmentnet</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2326305 - Disclosure - Capitalized Software Development Costs, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables</Role>
      <ShortName>Capitalized Software Development Costs, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2331306 - Disclosure - Intangible Assets, net and Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables</Role>
      <ShortName>Intangible Assets, net and Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2336307 - Disclosure - Accrued Employee Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpensesTables</Role>
      <ShortName>Accrued Employee Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/AccruedEmployeeExpenses</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2339308 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/Leases</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2344309 - Disclosure - Long-term Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LongtermDebtTables</Role>
      <ShortName>Long-term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/LongtermDebt</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2355310 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/StockBasedCompensation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2362311 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/IncomeTaxes</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2370312 - Disclosure - Revenue and Other Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformationTables</Role>
      <ShortName>Revenue and Other Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/RevenueandOtherInformation</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2402401 - Disclosure - Nature of Business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/NatureofBusinessDetails</Role>
      <ShortName>Nature of Business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/NatureofBusiness</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2408404 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2409405 - Disclosure - Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details</Role>
      <ShortName>Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2410406 - Disclosure - Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details</Role>
      <ShortName>Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2413407 - Disclosure - Divestures and Business Combinations - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails</Role>
      <ShortName>Divestures and Business Combinations - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2414408 - Disclosure - Business Combinations - Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails</Role>
      <ShortName>Business Combinations - Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2415409 - Disclosure - Business Combinations - Pro Forma Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails</Role>
      <ShortName>Business Combinations - Pro Forma Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2418410 - Disclosure - Investment Securities and Fair Value Measurements - Investment Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Investment Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2419411 - Disclosure - Investment Securities and Fair Value Measurements - Sales and Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Sales and Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2420412 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2421413 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails</Role>
      <ShortName>Investment Securities and Fair Value Measurements - Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2424414 - Disclosure - Property and Equipment, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/PropertyandEquipmentnetDetails</Role>
      <ShortName>Property and Equipment, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/PropertyandEquipmentnetTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2427415 - Disclosure - Capitalized Software Development Costs, net - Software Development Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails</Role>
      <ShortName>Capitalized Software Development Costs, net - Software Development Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2428416 - Disclosure - Capitalized Software Development Costs, net - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails</Role>
      <ShortName>Capitalized Software Development Costs, net - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2429417 - Disclosure - Capitalized Software Development Costs, net - Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails</Role>
      <ShortName>Capitalized Software Development Costs, net - Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2432418 - Disclosure - Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2433419 - Disclosure - Intangible Assets, net and Goodwill - Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails</Role>
      <ShortName>Intangible Assets, net and Goodwill - Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2434420 - Disclosure - Intangible Assets, net and Goodwill - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails</Role>
      <ShortName>Intangible Assets, net and Goodwill - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2437421 - Disclosure - Accrued Employee Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/AccruedEmployeeExpensesDetails</Role>
      <ShortName>Accrued Employee Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/AccruedEmployeeExpensesTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2440422 - Disclosure - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesDetails</Role>
      <ShortName>Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/LeasesTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2441423 - Disclosure - Leases - Schedule of Components of Lease expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails</Role>
      <ShortName>Leases - Schedule of Components of Lease expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2442424 - Disclosure - Leases - Schedule of Minimum Lease payments Under Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails</Role>
      <ShortName>Leases - Schedule of Minimum Lease payments Under Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2445425 - Disclosure - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LongtermDebtDetails</Role>
      <ShortName>Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/LongtermDebtTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2446426 - Disclosure - Long-term Debt - Summary of Long-tem Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails</Role>
      <ShortName>Long-term Debt - Summary of Long-tem Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2448427 - Disclosure - Commitment and Contingencies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails</Role>
      <ShortName>Commitment and Contingencies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2450428 - Disclosure - Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails</Role>
      <ShortName>Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2451429 - Disclosure - Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails</Role>
      <ShortName>Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2452430 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails</Role>
      <ShortName>Stockholders' Equity - Preferred Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2453431 - Disclosure - Stockholders' Equity - Share Repurchase Program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails</Role>
      <ShortName>Stockholders' Equity - Share Repurchase Program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>2456432 - Disclosure - Stock-Based Compensation - Stock Option Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails</Role>
      <ShortName>Stock-Based Compensation - Stock Option Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>2457433 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails</Role>
      <ShortName>Stock-Based Compensation - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>2458434 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>2459435 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Units Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>2460436 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>2463437 - Disclosure - Income Taxes - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>2464438 - Disclosure - Income Taxes - Effective Income Tax Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails</Role>
      <ShortName>Income Taxes - Effective Income Tax Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>2465439 - Disclosure - Income Taxes - Components of Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails</Role>
      <ShortName>Income Taxes - Components of Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>2466440 - Disclosure - Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>2467441 - Disclosure - Income Taxes - Changes in Valuation Allowance (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails</Role>
      <ShortName>Income Taxes - Changes in Valuation Allowance (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>2468442 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income Taxes - Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>2471443 - Disclosure - Revenue and Other Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RevenueandOtherInformationDetails</Role>
      <ShortName>Revenue and Other Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/RevenueandOtherInformationTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="appf-20201231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>2473444 - Disclosure - Retirement Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.appfolio.com/role/RetirementPlansDetails</Role>
      <ShortName>Retirement Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.appfolio.com/role/RetirementPlans</ParentRole>
      <Position>81</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="appf-20201231.htm">appf-20201231.htm</File>
    <File>a123120exhibit1014.htm</File>
    <File>a123120exhibit211.htm</File>
    <File>a123120exhibit231.htm</File>
    <File>a123120exhibit311.htm</File>
    <File>a123120exhibit312.htm</File>
    <File>a123120exhibit321.htm</File>
    <File>appf-20201231.xsd</File>
    <File>appf-20201231_cal.xml</File>
    <File>appf-20201231_def.xml</File>
    <File>appf-20201231_lab.xml</File>
    <File>appf-20201231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>appf-20201231_g1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2020-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2020-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>102
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "appf-20201231.htm": {
   "axisCustom": 0,
   "axisStandard": 29,
   "contextCount": 285,
   "dts": {
    "calculationLink": {
     "local": [
      "appf-20201231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "appf-20201231_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "appf-20201231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "appf-20201231_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "appf-20201231_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "appf-20201231.xsd"
     ],
     "remote": [
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 673,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 5,
    "http://xbrl.sec.gov/dei/2020-01-31": 4,
    "total": 9
   },
   "keyCustom": 47,
   "keyStandard": 458,
   "memberCustom": 23,
   "memberStandard": 61,
   "nsprefix": "appf",
   "nsuri": "http://www.appfolio.com/20201231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover",
     "role": "http://www.appfolio.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2103102 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2111103 - Disclosure - Divestures and Business Combinations",
     "role": "http://www.appfolio.com/role/DivesturesandBusinessCombinations",
     "shortName": "Divestures and Business Combinations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2116104 - Disclosure - Investment Securities and Fair Value Measurements",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements",
     "shortName": "Investment Securities and Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2122105 - Disclosure - Property and Equipment, net",
     "role": "http://www.appfolio.com/role/PropertyandEquipmentnet",
     "shortName": "Property and Equipment, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2125106 - Disclosure - Capitalized Software Development Costs, net",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet",
     "shortName": "Capitalized Software Development Costs, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2130107 - Disclosure - Intangible Assets, net and Goodwill",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill",
     "shortName": "Intangible Assets, net and Goodwill",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2135108 - Disclosure - Accrued Employee Expenses",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpenses",
     "shortName": "Accrued Employee Expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2138109 - Disclosure - Leases",
     "role": "http://www.appfolio.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2143110 - Disclosure - Long-term Debt",
     "role": "http://www.appfolio.com/role/LongtermDebt",
     "shortName": "Long-term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2147111 - Disclosure - Commitment and Contingencies",
     "role": "http://www.appfolio.com/role/CommitmentandContingencies",
     "shortName": "Commitment and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001002 - Statement - Consolidated Balance Sheets",
     "role": "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2149112 - Disclosure - Stockholders' Equity",
     "role": "http://www.appfolio.com/role/StockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2154113 - Disclosure - Stock-Based Compensation",
     "role": "http://www.appfolio.com/role/StockBasedCompensation",
     "shortName": "Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2161114 - Disclosure - Income Taxes",
     "role": "http://www.appfolio.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2169115 - Disclosure - Revenue and Other Information",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformation",
     "shortName": "Revenue and Other Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2172116 - Disclosure - Retirement Plans",
     "role": "http://www.appfolio.com/role/RetirementPlans",
     "shortName": "Retirement Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2312302 - Disclosure - (Tables)",
     "role": "http://www.appfolio.com/role/Tables",
     "shortName": "(Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2317303 - Disclosure - Investment Securities and Fair Value Measurements (Tables)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables",
     "shortName": "Investment Securities and Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2323304 - Disclosure - Property and Equipment, net (Tables)",
     "role": "http://www.appfolio.com/role/PropertyandEquipmentnetTables",
     "shortName": "Property and Equipment, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": null
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002003 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2326305 - Disclosure - Capitalized Software Development Costs, net (Tables)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables",
     "shortName": "Capitalized Software Development Costs, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2331306 - Disclosure - Intangible Assets, net and Goodwill (Tables)",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables",
     "shortName": "Intangible Assets, net and Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2336307 - Disclosure - Accrued Employee Expenses (Tables)",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesTables",
     "shortName": "Accrued Employee Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2339308 - Disclosure - Leases (Tables)",
     "role": "http://www.appfolio.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2344309 - Disclosure - Long-term Debt (Tables)",
     "role": "http://www.appfolio.com/role/LongtermDebtTables",
     "shortName": "Long-term Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2355310 - Disclosure - Stock-Based Compensation (Tables)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationTables",
     "shortName": "Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2362311 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.appfolio.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2370312 - Disclosure - Revenue and Other Information (Tables)",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformationTables",
     "shortName": "Revenue and Other Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2402401 - Disclosure - Nature of Business (Details)",
     "role": "http://www.appfolio.com/role/NatureofBusinessDetails",
     "shortName": "Nature of Business (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i25006d5d67bf47229384f8b1670eb090_I20200930",
      "decimals": "INF",
      "lang": "en-US",
      "name": "appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406402 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003004 - Statement - Consolidated Statements of Operations",
     "role": "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i775737621cf8499caf903c657527ac4f_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails",
     "shortName": "Summary of Significant Accounting Policies - Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i775737621cf8499caf903c657527ac4f_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2408404 - Disclosure - Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails",
     "shortName": "Summary of Significant Accounting Policies - Net Income per Share Schedule of Weighted Average Number of Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409405 - Disclosure - Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details",
     "shortName": "Summary of Significant Accounting Policies - Recently Adopted Accounting Pronouncements 2014-09 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "if18cdb85957749b29afe5d94e2aa5014_I20180101",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherAssetsNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410406 - Disclosure - Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details)",
     "role": "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details",
     "shortName": "Summary of Significant Accounting Policies Recently Adopted Accounting Pronouncements 2016-02 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "if48a6e4c69274938817f9b2089caf91b_I20190101",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i2d60ae6645b148edbbdc326bbfaa22e0_I20190107",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413407 - Disclosure - Divestures and Business Combinations - Narrative (Details)",
     "role": "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
     "shortName": "Divestures and Business Combinations - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i2d60ae6645b148edbbdc326bbfaa22e0_I20190107",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414408 - Disclosure - Business Combinations - Purchase Price Allocation (Details)",
     "role": "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
     "shortName": "Business Combinations - Purchase Price Allocation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i2d60ae6645b148edbbdc326bbfaa22e0_I20190107",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415409 - Disclosure - Business Combinations - Pro Forma Information (Details)",
     "role": "http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails",
     "shortName": "Business Combinations - Pro Forma Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "icc88a464dfbb4303b4e1367f77fe6e65_D20190101-20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2418410 - Disclosure - Investment Securities and Fair Value Measurements - Investment Securities (Details)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
     "shortName": "Investment Securities and Fair Value Measurements - Investment Securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2419411 - Disclosure - Investment Securities and Fair Value Measurements - Sales and Maturities (Details)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails",
     "shortName": "Investment Securities and Fair Value Measurements - Sales and Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGain",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420412 - Disclosure - Investment Securities and Fair Value Measurements - Narrative (Details)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
     "shortName": "Investment Securities and Fair Value Measurements - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004005 - Statement - Consolidated Statements of Comprehensive Income (Loss)",
     "role": "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss",
     "shortName": "Consolidated Statements of Comprehensive Income (Loss)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421413 - Disclosure - Investment Securities and Fair Value Measurements - Fair Value Measurements (Details)",
     "role": "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
     "shortName": "Investment Securities and Fair Value Measurements - Fair Value Measurements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i8f2082b48c6c4e60ab0d5bc5f521f3ab_I20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2424414 - Disclosure - Property and Equipment, net (Details)",
     "role": "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
     "shortName": "Property and Equipment, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427415 - Disclosure - Capitalized Software Development Costs, net - Software Development Costs (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails",
     "shortName": "Capitalized Software Development Costs, net - Software Development Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2428416 - Disclosure - Capitalized Software Development Costs, net - Narrative (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
     "shortName": "Capitalized Software Development Costs, net - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2429417 - Disclosure - Capitalized Software Development Costs, net - Amortization Expense (Details)",
     "role": "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails",
     "shortName": "Capitalized Software Development Costs, net - Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2432418 - Disclosure - Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details)",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
     "shortName": "Intangible Assets, net and Goodwill - Finite-Lived Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2433419 - Disclosure - Intangible Assets, net and Goodwill - Amortization Expense (Details)",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails",
     "shortName": "Intangible Assets, net and Goodwill - Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2434420 - Disclosure - Intangible Assets, net and Goodwill - Goodwill (Details)",
     "role": "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails",
     "shortName": "Intangible Assets, net and Goodwill - Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedVacationCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437421 - Disclosure - Accrued Employee Expenses (Details)",
     "role": "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails",
     "shortName": "Accrued Employee Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "appf:ScheduleOfAccruedEmployeeExpensesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedVacationCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2440422 - Disclosure - Leases (Details)",
     "role": "http://www.appfolio.com/role/LeasesDetails",
     "shortName": "Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i7914f6f887a9464f88693d0427ccdb78_I20171231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit)",
     "role": "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
     "shortName": "Consolidated Statements of Stockholders' Equity (Deficit)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i7914f6f887a9464f88693d0427ccdb78_I20171231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2441423 - Disclosure - Leases - Schedule of Components of Lease expense (Details)",
     "role": "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails",
     "shortName": "Leases - Schedule of Components of Lease expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442424 - Disclosure - Leases - Schedule of Minimum Lease payments Under Leases (Details)",
     "role": "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails",
     "shortName": "Leases - Schedule of Minimum Lease payments Under Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i2713f3c7fb3a48aa9a42d605d7028a69_I20181224",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445425 - Disclosure - Long-term Debt (Details)",
     "role": "http://www.appfolio.com/role/LongtermDebtDetails",
     "shortName": "Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i2713f3c7fb3a48aa9a42d605d7028a69_I20181224",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2446426 - Disclosure - Long-term Debt - Summary of Long-tem Debt (Details)",
     "role": "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails",
     "shortName": "Long-term Debt - Summary of Long-tem Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i3bedcfe0e1984287a7cb21d97bbb1fff_I20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:DeferredFinanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2448427 - Disclosure - Commitment and Contingencies - Additional Information (Details)",
     "role": "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails",
     "shortName": "Commitment and Contingencies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ic77deb8838064aa4b4d2582a554d5094_I20150625",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalUnitsAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2450428 - Disclosure - Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details)",
     "role": "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
     "shortName": "Stockholders' Equity - Amended and Restated Certificate of Incorporation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ic77deb8838064aa4b4d2582a554d5094_I20150625",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalUnitsAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:ConversionOfStockNumberOfSharesIssuableUponConversion",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2451429 - Disclosure - Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)",
     "role": "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails",
     "shortName": "Stockholders' Equity - Class A Common Stock and Class B Common Stock, Reverse Stock Split (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i20737f1adc9f4c41b155b4054e95aa6a_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "appf:ConversionOfStockNumberOfSharesIssuableUponConversion",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockSharesOutstanding",
       "us-gaap:PreferredStockSharesIssued",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockSharesOutstanding",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2452430 - Disclosure - Stockholders' Equity - Preferred Stock (Details)",
     "role": "http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails",
     "shortName": "Stockholders' Equity - Preferred Stock (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i86d127b091904d9fba57f908929b83a8_I20190220",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2453431 - Disclosure - Stockholders' Equity - Share Repurchase Program (Details)",
     "role": "http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails",
     "shortName": "Stockholders' Equity - Share Repurchase Program (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i86d127b091904d9fba57f908929b83a8_I20190220",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2456432 - Disclosure - Stock-Based Compensation - Stock Option Plans (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
     "shortName": "Stock-Based Compensation - Stock Option Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006007 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "if87112ed58d44be294bd33c5ebbf224d_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2457433 - Disclosure - Stock-Based Compensation - Stock Option Activity (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails",
     "shortName": "Stock-Based Compensation - Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i950a2961c7164c988b3443285bc84af6_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2458434 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i950a2961c7164c988b3443285bc84af6_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2459435 - Disclosure - Stock-Based Compensation - Restricted Stock Units Narrative (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock Units Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i8d049bdfbdf1486aaf73e64df069c75a_D20200101-20201231",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i6dc94e99757f4efe807c08d12dcb5eaf_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2460436 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)",
     "role": "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock Awards (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i6dc94e99757f4efe807c08d12dcb5eaf_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2463437 - Disclosure - Income Taxes - Narrative (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
     "shortName": "Income Taxes - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2464438 - Disclosure - Income Taxes - Effective Income Tax Reconciliation (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails",
     "shortName": "Income Taxes - Effective Income Tax Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2465439 - Disclosure - Income Taxes - Components of Income Taxes (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails",
     "shortName": "Income Taxes - Components of Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2466440 - Disclosure - Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails",
     "shortName": "Income Taxes - Components of Deferred Tax Assets (Liabilities) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "if87112ed58d44be294bd33c5ebbf224d_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2467441 - Disclosure - Income Taxes - Changes in Valuation Allowance (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails",
     "shortName": "Income Taxes - Changes in Valuation Allowance (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i33fd34f1e8d1430f80df86809474ca2c_I20171231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "if87112ed58d44be294bd33c5ebbf224d_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2468442 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)",
     "role": "http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails",
     "shortName": "Income Taxes - Unrecognized Tax Benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i33fd34f1e8d1430f80df86809474ca2c_I20171231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "ie6b462932c454ef1af9e87a9f2fb7348_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1007008 - Statement - Consolidated Statements of Cash Flows - Reconciliation",
     "role": "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation",
     "shortName": "Consolidated Statements of Cash Flows - Reconciliation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i02d63145a04b47a48a5a20bb6671ce00_I20181231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2471443 - Disclosure - Revenue and Other Information (Details)",
     "role": "http://www.appfolio.com/role/RevenueandOtherInformationDetails",
     "shortName": "Revenue and Other Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductInformationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "i49f21b866a974cb5af0d88082667c437_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2473444 - Disclosure - Retirement Plans (Details)",
     "role": "http://www.appfolio.com/role/RetirementPlansDetails",
     "shortName": "Retirement Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Nature of Business",
     "role": "http://www.appfolio.com/role/NatureofBusiness",
     "shortName": "Nature of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "appf-20201231.htm",
      "contextRef": "iccde34631c1a4a6f8f15e4488c1590ee_D20200101-20201231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 86,
   "tag": {
    "appf_A2016PerformanceMetricMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2016 Performance Metric [Member]",
        "label": "2016 Performance Metric [Member]",
        "terseLabel": "2016 Performance metric"
       }
      }
     },
     "localname": "A2016PerformanceMetricMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2017 Performance Metric, Targeted Free Cash Flow Performance Metric [Member]",
        "label": "2017 Performance Metric, Targeted Free Cash Flow Performance Metric [Member]",
        "terseLabel": "2017 Performance metric, targeted free cash flow performance metric"
       }
      }
     },
     "localname": "A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_AmortizationOfOperatingLeaseRightOfUseAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortization Of Operating Lease, Right-Of-Use Assets",
        "label": "Amortization Of Operating Lease, Right-Of-Use Assets",
        "terseLabel": "Amortization of operating lease right-of-use assets"
       }
      }
     },
     "localname": "AmortizationOfOperatingLeaseRightOfUseAssets",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_AvailableForSaleSecuritiesMaximumContractualMaturity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available-For-Sale Securities, Maximum Contractual Maturity",
        "label": "Available-For-Sale Securities, Maximum Contractual Maturity",
        "terseLabel": "Investment contractual maturities"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesMaximumContractualMaturity",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "appf_BusinessCombinationConsiderationAccruedButNotYetPaid": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Consideration Accrued But Not Yet Paid",
        "label": "Business Combination, Consideration Accrued But Not Yet Paid",
        "terseLabel": "Purchase consideration for acquisitions included in other current liabilities"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationAccruedButNotYetPaid",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_BusinessCombinationConsiderationTotalPriorToAdjustments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Consideration Total Prior To Adjustments",
        "label": "Business Combination, Consideration Total Prior To Adjustments",
        "terseLabel": "Total purchase consideration"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTotalPriorToAdjustments",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_BusinessCombinationConsiderationTransferredEscrowAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Consideration Transferred, Escrow Amount",
        "label": "Business Combination, Consideration Transferred, Escrow Amount",
        "terseLabel": "Amount retained to satisfy adjustments"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEscrowAmount",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capitalized Computer Software Additions, Incurred But Not Yet Paid",
        "label": "Capitalized Computer Software Additions, Incurred But Not Yet Paid",
        "terseLabel": "Capitalization of software development costs included in accrued expenses and accrued employee expenses"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearOne": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capitalized Computer Software, Amortization Expense, Year One",
        "label": "Capitalized Computer Software, Amortization Expense, Year One",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearOne",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capitalized Computer Software, Amortization Expense, Year Three",
        "label": "Capitalized Computer Software, Amortization Expense, Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearThree",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_CapitalizedComputerSoftwareAmortizationExpenseYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Capitalized Computer Software, Amortization Expense, Year Two",
        "label": "Capitalized Computer Software, Amortization Expense, Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortizationExpenseYearTwo",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_ChangesInValuationAllowanceRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Changes In Valuation Allowance [Roll Forward]",
        "label": "Changes In Valuation Allowance [Roll Forward]",
        "terseLabel": "Changes In Valuation Allowance [Roll Forward]"
       }
      }
     },
     "localname": "ChangesInValuationAllowanceRollForward",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "appf_CommonClassBToCommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Class B To Common Class A [Member]",
        "label": "Common Class B To Common Class A [Member]",
        "terseLabel": "Common Class B To Common Class A"
       }
      }
     },
     "localname": "CommonClassBToCommonClassAMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_CommonStockAutomaticConversionThreshold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock, Automatic Conversion Threshold",
        "label": "Common Stock, Automatic Conversion Threshold",
        "terseLabel": "Automatic conversion threshold as a percent of Class B common stock"
       }
      }
     },
     "localname": "CommonStockAutomaticConversionThreshold",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_CommonStockNumberOfVotesPerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock, Number Of Votes Per Share",
        "label": "Common Stock, Number Of Votes Per Share",
        "terseLabel": "Common stock, number of votes"
       }
      }
     },
     "localname": "CommonStockNumberOfVotesPerShare",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "appf_ContractTermSubscriptionAgreement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract Term, Subscription Agreement",
        "label": "Contract Term, Subscription Agreement",
        "terseLabel": "Subscription agreement term"
       }
      }
     },
     "localname": "ContractTermSubscriptionAgreement",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "appf_ConversionOfStockNumberOfSharesIssuableUponConversion": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Conversion Of Stock, Number Of Shares Issuable Upon Conversion",
        "label": "Conversion Of Stock, Number Of Shares Issuable Upon Conversion",
        "terseLabel": "Number of shares to be issued per share upon conversion (in shares)"
       }
      }
     },
     "localname": "ConversionOfStockNumberOfSharesIssuableUponConversion",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Conversion Of Stock, Number Of Shares Issuable Upon Conversion Due To Transfer",
        "label": "Conversion Of Stock, Number Of Shares Issuable Upon Conversion Due To Transfer",
        "terseLabel": "Number of shares to be issued per share upon automatic conversion (in shares)"
       }
      }
     },
     "localname": "ConversionOfStockNumberOfSharesIssuableUponConversionDueToTransfer",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_CoreSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Core Solutions [Member]",
        "label": "Core Solutions [Member]",
        "terseLabel": "Core solutions"
       }
      }
     },
     "localname": "CoreSolutionsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_DataCenterAndComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Data Center And Computer Equipment [Member]",
        "label": "Data Center And Computer Equipment [Member]",
        "terseLabel": "Data center and computer equipment"
       }
      }
     },
     "localname": "DataCenterAndComputerEquipmentMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_DatabaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Database [Member]",
        "label": "Database [Member]",
        "terseLabel": "Database"
       }
      }
     },
     "localname": "DatabaseMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_DeferredTaxAssetsLeasingArrangements": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets, Leasing Arrangements",
        "label": "Deferred Tax Assets, Leasing Arrangements",
        "terseLabel": "Lease asset"
       }
      }
     },
     "localname": "DeferredTaxAssetsLeasingArrangements",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DeferredTaxLiabilitiesCapitalizedCommissions": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liabilities, Capitalized Commissions",
        "label": "Deferred Tax Liabilities, Capitalized Commissions",
        "negatedLabel": "Capitalized commissions"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesCapitalizedCommissions",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DeferredTaxLiabilitiesStateTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Liabilities, State Taxes",
        "label": "Deferred Tax Liabilities, State Taxes",
        "negatedTerseLabel": "State taxes"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesStateTaxes",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs",
        "label": "Depreciation, Depletion and Amortization, Excluding Amortization of Financing Costs",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Capitalized Software",
        "label": "Disposal Group, Including Discontinued Operation, Capitalized Software",
        "terseLabel": "Capitalized software"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Ownership Percentage in Disposed Subsidiary",
        "label": "Disposal Group, Including Discontinued Operation, Ownership Percentage in Disposed Subsidiary",
        "terseLabel": "Ownership percentage in disposed subsidiary"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationRetentionPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Retention Period",
        "label": "Disposal Group, Including Discontinued Operation, Retention Period",
        "terseLabel": "Retention period"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationRetentionPeriod",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "appf_DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disposal Group, Including Discontinued Operation, Working Capital Adjustment",
        "label": "Disposal Group, Including Discontinued Operation, Working Capital Adjustment",
        "terseLabel": "Working capital adjustment"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_DynastyMarketplaceInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dynasty Marketplace, Inc. [Member]",
        "label": "Dynasty Marketplace, Inc. [Member]",
        "terseLabel": "Dynasty Marketplace, Inc."
       }
      }
     },
     "localname": "DynastyMarketplaceInc.Member",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_EmployeeStockOptionsAndPerformanceStockOptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Stock Options And Performance Stock Options [Member]",
        "label": "Employee Stock Options And Performance Stock Options [Member]",
        "terseLabel": "Employee stock options and performance stock options"
       }
      }
     },
     "localname": "EmployeeStockOptionsAndPerformanceStockOptionsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_FurnitureAndFixturesAndLeaseholdImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Furniture and Fixtures and Leasehold Improvements",
        "label": "Furniture and Fixtures and Leasehold Improvements [Member]",
        "terseLabel": "Furniture and fixtures and leasehold improvements"
       }
      }
     },
     "localname": "FurnitureAndFixturesAndLeaseholdImprovementsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_IncreaseDecreaseInOperatingLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Operating Leases",
        "label": "Increase (Decrease) In Operating Leases",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeases",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment Securities And Fair Value Measurements, Disclosure [Text Block]",
        "label": "Investment Securities And Fair Value Measurements, Disclosure [Text Block]",
        "terseLabel": "Investment Securities and Fair Value Measurements"
       }
      }
     },
     "localname": "InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "appf_LesseeOperatingLeaseLiabilityNetOfCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Liability, Net Of Current Portion",
        "label": "Lessee, Operating Lease, Liability, Net Of Current Portion",
        "terseLabel": "Total commitment under lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityNetOfCurrentPortion",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LesseeOperatingLeaseSquareFeetOfLeasedArea": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Square Feet Of Leased Area",
        "label": "Lessee, Operating Lease, Square Feet Of Leased Area",
        "terseLabel": "Leased area (sq ft)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseSquareFeetOfLeasedArea",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "areaItemType"
    },
    "appf_LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Commitment Fee, Usage Threshold For 37.5 Basis Points Commitment Fee, Percentage",
        "label": "Long-term Debt, Commitment Fee, Usage Threshold For 37.5 Basis Points Commitment Fee, Percentage",
        "terseLabel": "Commitment fee, usage threshold for 37.5 basis points commitment fee, percentage"
       }
      }
     },
     "localname": "LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, Acquisition Purchase Price Floor For 0.5 Increase In Required Leverage Ratio For 12 Month Period Following The Close Date",
        "label": "Long-term Debt, Covenant Restrictions, Acquisition Purchase Price Floor For 0.5 Increase In Required Leverage Ratio For 12 Month Period Following The Close Date",
        "terseLabel": "Acquisition purchase price floor for 0.5 increase in required leverage ratio for 12 month period following the close date"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, Annual Decrease In Required Leverage Ratio",
        "label": "Long-term Debt, Covenant Restrictions, Annual Decrease In Required Leverage Ratio",
        "terseLabel": "Annual decrease in required leverage ratio"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, EBITDA To Interest Expense Ratio",
        "label": "Long-term Debt, Covenant Restrictions, EBITDA To Interest Expense Ratio",
        "terseLabel": "EBITDA to interest expense ratio"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, Floor Plus 20 Percent Of The Sum Of the Combined Outstanding Principal Amounts",
        "label": "Long-term Debt, Covenant Restrictions, Floor Plus 20 Percent Of The Sum Of the Combined Outstanding Principal Amounts",
        "terseLabel": "Floor plus 20% of the sum of the combined outstanding principal amounts"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, Funded Indebtedness To EBITDA Ratio",
        "label": "Long-term Debt, Covenant Restrictions, Funded Indebtedness To EBITDA Ratio",
        "terseLabel": "Funded indebtedness to EBITDA ratio"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_LongtermDebtCovenantRestrictionsRequiredLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term Debt, Covenant Restrictions, Required Leverage Ratio",
        "label": "Long-term Debt, Covenant Restrictions, Required Leverage Ratio",
        "terseLabel": "Required leverage ratio"
       }
      }
     },
     "localname": "LongtermDebtCovenantRestrictionsRequiredLeverageRatio",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "appf_MyCaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "MyCase",
        "label": "MyCase [Member]",
        "terseLabel": "MyCase"
       }
      }
     },
     "localname": "MyCaseMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_OperatingLeasePrepaidExpensesAndOtherCurrentAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Prepaid Expenses And Other Current Assets",
        "label": "Operating Lease, Prepaid Expenses And Other Current Assets",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "OperatingLeasePrepaidExpensesAndOtherCurrentAssets",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_OtherServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Services [Member]",
        "label": "Other Services [Member]",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherServicesMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PartnerRelationshipsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Partner Relationships [Member]",
        "label": "Partner Relationships [Member]",
        "terseLabel": "Partner relationships"
       }
      }
     },
     "localname": "PartnerRelationshipsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Option [Member]",
        "label": "Performance Stock Option [Member]",
        "terseLabel": "PSOs"
       }
      }
     },
     "localname": "PerformanceStockOptionMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2018Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2018 [Member]",
        "label": "Performance Stock Units Granted in 2018 [Member]",
        "terseLabel": "PSUs granted in 2018"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2018Member",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2019Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2019 [Member]",
        "label": "Performance Stock Units Granted in 2019 [Member]",
        "terseLabel": "PSUs granted in 2019"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2019Member",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsGrantedin2019and2018Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units Granted in 2019 and 2018 [Member]",
        "label": "Performance Stock Units Granted in 2019 and 2018 [Member]",
        "terseLabel": "PSUs granted in 2019 and 2018"
       }
      }
     },
     "localname": "PerformanceStockUnitsGrantedin2019and2018Member",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PerformanceStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Stock Units [Member]",
        "label": "Performance Stock Units [Member]",
        "terseLabel": "PSUs"
       }
      }
     },
     "localname": "PerformanceStockUnitsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services",
        "label": "Property, Liability And Casualty Insurance, Deposits Held With Third Party As Collateral For Services",
        "terseLabel": "Deposits held with a third party related to insurance services collateral"
       }
      }
     },
     "localname": "PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit",
        "label": "Property, Liability And Casualty Insurance, Per Incident And Per Residence Coverage Limit",
        "terseLabel": "Per incident policy limit"
       }
      }
     },
     "localname": "PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_RestrictedStockUnitsAndPerformanceStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted Stock Units And Performance Stock Units [Member]",
        "label": "Restricted Stock Units And Performance Stock Units [Member]",
        "terseLabel": "RSUs and PSUs"
       }
      }
     },
     "localname": "RestrictedStockUnitsAndPerformanceStockUnitsMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings",
        "label": "Restricted Stock Units, Shares Issued Net Of Shares For Tax Withholdings",
        "terseLabel": "Vesting of restricted stock units, net of shares withheld for taxes (in shares)"
       }
      }
     },
     "localname": "RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "appf_RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings",
        "label": "Restricted Stock Units, Value, Shares Issued Net Of Tax Withholdings",
        "terseLabel": "Vesting of restricted stock units, net of shares withheld for taxes"
       }
      }
     },
     "localname": "RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_RichardsonTexasMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Richardson Texas",
        "label": "Richardson Texas [Member]",
        "terseLabel": "Richardson, Texas"
       }
      }
     },
     "localname": "RichardsonTexasMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_ScheduleOfAccruedEmployeeExpensesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Accrued Employee Expenses",
        "label": "Schedule of Accrued Employee Expenses [Table Text Block]",
        "terseLabel": "Schedule of Accrued Employee Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccruedEmployeeExpensesTableTextBlock",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "appf_ScheduleOfCapitalizedComputerSoftwareTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Capitalized Computer Software [Table Text Block]",
        "label": "Schedule Of Capitalized Computer Software [Table Text Block]",
        "terseLabel": "Schedule of Capitalized Computer Software"
       }
      }
     },
     "localname": "ScheduleOfCapitalizedComputerSoftwareTableTextBlock",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "appf_ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Finite-Lived Intangible Assets, Excluding Internal-Use Software Development, Future Amortization Expense [Table Text Block]",
        "label": "Schedule Of Finite-Lived Intangible Assets, Excluding Internal-Use Software Development, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets Amortization Expense"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsExcludingInternalUseSoftwareDevelopmentFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "appf_ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets",
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Percent Of Cash Bonus Payment On Initial Targets",
        "terseLabel": "Percent of cash bonus payment on initial targets"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Achievement Of Award Target Performance Metric",
        "terseLabel": "Percent of achievement of award target performance metric"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Percent Of Award Target Performance Metric",
        "terseLabel": "Percent of award target performance metric"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Performance Based Cash Bonus Payment, Percent",
        "terseLabel": "Performance-based cash bonus payment, percent"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "appf_SoftwareAndServicesOfferedToRealEstateVerticalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Software and Services Offered to Real Estate Vertical",
        "label": "Software and Services Offered to Real Estate Vertical [Member]",
        "terseLabel": "Software and services offered to real estate vertical"
       }
      }
     },
     "localname": "SoftwareAndServicesOfferedToRealEstateVerticalMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Repurchase Program, Number Of Directors To Authorize Repurchases",
        "label": "Stock Repurchase Program, Number Of Directors To Authorize Repurchases",
        "terseLabel": "Number of directors to authorized repurchases"
       }
      }
     },
     "localname": "StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "appf_TechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology [Member]",
        "label": "Technology [Member]",
        "terseLabel": "Technology"
       }
      }
     },
     "localname": "TechnologyMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_TenantImprovementAllowance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tenant Improvement Allowance",
        "label": "Tenant Improvement Allowance",
        "terseLabel": "Tenant Improvement Allowance"
       }
      }
     },
     "localname": "TenantImprovementAllowance",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "appf_TwoThousandFifteenStockIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Thousand Fifteen Stock Incentive Plan [Member]",
        "label": "Two Thousand Fifteen Stock Incentive Plan [Member]",
        "terseLabel": "2015 Stock incentive plan"
       }
      }
     },
     "localname": "TwoThousandFifteenStockIncentivePlanMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "appf_ValuePlusServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value Plus Services [Member]",
        "label": "Value Plus Services [Member]",
        "terseLabel": "Value+ services"
       }
      }
     },
     "localname": "ValuePlusServicesMember",
     "nsuri": "http://www.appfolio.com/20201231",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r637",
      "r638",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report",
        "terseLabel": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]",
        "terseLabel": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]",
        "terseLabel": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r640"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r635"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r642"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float",
        "terseLabel": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers",
        "terseLabel": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer",
        "terseLabel": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r637",
      "r638",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag",
        "terseLabel": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of each class"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r636"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": {
     "auth_ref": [
      "r127",
      "r135",
      "r235",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]",
        "terseLabel": "Cumulative effect, period of adoption, adjustment"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "auth_ref": [
      "r127",
      "r135",
      "r235",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Axis]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "auth_ref": [
      "r127",
      "r135",
      "r235",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Domain]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Domain]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r366",
      "r368",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r562",
      "r609",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r366",
      "r368",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r562",
      "r609",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r203",
      "r330",
      "r333",
      "r563",
      "r608",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails",
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r203",
      "r330",
      "r333",
      "r563",
      "r608",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails",
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r346",
      "r366",
      "r368",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r562",
      "r609",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r346",
      "r366",
      "r368",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r562",
      "r609",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_WeightedAverageMember": {
     "auth_ref": [
      "r538",
      "r540",
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average [Member]",
        "terseLabel": "Weighted Average"
       }
      }
     },
     "localname": "WeightedAverageMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate201409Member": {
     "auth_ref": [
      "r341"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).",
        "label": "Accounting Standards Update 2014-09 [Member]",
        "terseLabel": "Accounting standards update 2014-09"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201409Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingStandardsUpdate201602Member": {
     "auth_ref": [
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2016-02 Leases (Topic 842).",
        "label": "Accounting Standards Update 2016-02 [Member]",
        "terseLabel": "Accounting Standards Update 2016-02"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201602Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingStandardsUpdateExtensibleList": {
     "auth_ref": [
      "r128",
      "r129",
      "r130",
      "r131",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r447",
      "r448",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates amendment to accounting standards.",
        "label": "Accounting Standards Update [Extensible List]",
        "terseLabel": "Accounting Standards Update [Extensible List]"
       }
      }
     },
     "localname": "AccountingStandardsUpdateExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r53"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r24",
      "r39",
      "r208",
      "r209"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "auth_ref": [
      "r107"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "terseLabel": "Amortization and accretion of premium and discount"
       }
      }
     },
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedBonusesCurrent": {
     "auth_ref": [
      "r28",
      "r29",
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Bonuses, Current",
        "terseLabel": "Accrued bonuses"
       }
      }
     },
     "localname": "AccruedBonusesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "auth_ref": [
      "r29",
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Payroll Taxes, Current",
        "terseLabel": "Accrued payroll taxes and other"
       }
      }
     },
     "localname": "AccruedPayrollTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalariesCurrent": {
     "auth_ref": [
      "r28",
      "r29",
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Salaries, Current",
        "terseLabel": "Accrued payroll"
       }
      }
     },
     "localname": "AccruedSalariesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r28",
      "r29",
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales Commission, Current",
        "terseLabel": "Accrued commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedVacationCurrent": {
     "auth_ref": [
      "r28",
      "r57",
      "r343"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Vacation, Current",
        "terseLabel": "Accrued vacation"
       }
      }
     },
     "localname": "AccruedVacationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r51",
      "r278"
     ],
     "calculation": {
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedTerseLabel": "Less: Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r42",
      "r68",
      "r69",
      "r70",
      "r596",
      "r619",
      "r623"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r67",
      "r70",
      "r71",
      "r124",
      "r125",
      "r126",
      "r480",
      "r614",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated other comprehensive income (loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "auth_ref": [
      "r262"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life",
        "terseLabel": "Estimated Useful Life (in years)"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r40",
      "r408"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.",
        "label": "Additional Paid in Capital",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r405",
      "r406",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r128",
      "r129",
      "r130",
      "r131",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r445",
      "r446",
      "r447",
      "r448",
      "r565",
      "r566",
      "r567",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Accounting Standards Update [Axis]",
        "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) to additional paid-in capital (APIC) for recognition and exercise of award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Recognition and Exercise",
        "terseLabel": "Vesting of early exercised shares"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r370",
      "r372",
      "r410",
      "r411"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingExpense": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.",
        "label": "Advertising Expense",
        "terseLabel": "Advertising expense"
       }
      }
     },
     "localname": "AdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AgencySecuritiesMember": {
     "auth_ref": [
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities issued by government sponsored entities.",
        "label": "Agency Securities [Member]",
        "terseLabel": "Agency securities",
        "verboseLabel": "Agency securities"
       }
      }
     },
     "localname": "AgencySecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r372",
      "r396",
      "r409"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r106",
      "r260",
      "r268"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of Intangible Assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Shares excluded from net loss per share attributable to common stockholders (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]",
        "terseLabel": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r120",
      "r183",
      "r193",
      "r199",
      "r231",
      "r477",
      "r482",
      "r499",
      "r572",
      "r593"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r25",
      "r26",
      "r65",
      "r120",
      "r231",
      "r477",
      "r482",
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r488"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Fair Value Disclosure",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation": {
     "auth_ref": [
      "r0",
      "r1",
      "r16",
      "r18",
      "r22",
      "r280"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Assets",
        "terseLabel": "Assets divested"
       }
      }
     },
     "localname": "AssetsOfDisposalGroupIncludingDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "auth_ref": [
      "r222"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax",
        "terseLabel": "Gross Unrealized Gains"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r223"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax",
        "negatedLabel": "Gross Unrealized Losses"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r220",
      "r243"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale, Amortized Cost",
        "totalLabel": "Amortized Cost"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": {
     "auth_ref": [
      "r226"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five",
        "terseLabel": "Amortized cost, due after one year through three years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": {
     "auth_ref": [
      "r224",
      "r226",
      "r587"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five",
        "terseLabel": "Estimated fair value, due after one year through three years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": {
     "auth_ref": [
      "r225"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One",
        "terseLabel": "Amortized cost, due in one year or less"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "auth_ref": [
      "r224",
      "r225",
      "r586"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "terseLabel": "Estimated fair value, due in one year or less"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r217",
      "r221",
      "r243",
      "r576"
     ],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale",
        "terseLabel": "Available-for-sale investment securities:",
        "totalLabel": "Estimated Fair Value"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "auth_ref": [
      "r219",
      "r243"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Debt Securities, Available-for-sale, Current",
        "terseLabel": "Investment securities\u2014current"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "auth_ref": [
      "r219",
      "r243"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Debt Securities, Available-for-sale, Noncurrent",
        "terseLabel": "Investment securities\u2014noncurrent"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r373",
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r484",
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation and Significant Accounting Policies and Reclassification"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r365",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r365",
      "r367",
      "r465",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition.",
        "label": "Business Acquisition, Transaction Costs",
        "terseLabel": "Acquisition costs"
       }
      }
     },
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "auth_ref": [
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.",
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "terseLabel": "Percentage of voting equity interest"
       }
      }
     },
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r463",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Schedule of Pro Forma Information"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r463",
      "r464"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Net income"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r463",
      "r464"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsProFormaInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "verboseLabel": "Divestures and Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "totalLabel": "Total assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets",
        "verboseLabel": "Net tangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities": {
     "auth_ref": [
      "r468"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities",
        "terseLabel": "Accrued and other liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r468"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "terseLabel": "Deferred tax liability, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "auth_ref": [
      "r467",
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "terseLabel": "Identified intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities",
        "terseLabel": "Total liabilities assumed"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets",
        "terseLabel": "Other noncurrent assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "totalLabel": "Purchase consideration"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]",
        "terseLabel": "Business Combinations [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r116",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Calculated under guidance for revenue recognition in effect prior to change to new guidance for revenue from contract with customer when using transition method for cumulative effect in period including initial date of application.",
        "label": "Calculated under Revenue Guidance in Effect before Topic 606 [Member]",
        "terseLabel": "Calculated under revenue guidance in effect before topic 606"
       }
      }
     },
     "localname": "CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Purchases of property and equipment included in accounts payable and accrued expenses"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalUnitsAuthorized": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of authorized capital units or capital shares. This element is relevant to issuers of face-amount certificates and registered investment companies.",
        "label": "Capital Units, Authorized",
        "terseLabel": "Capital stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CapitalUnitsAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.",
        "label": "Capitalized Computer Software, Accumulated Amortization",
        "negatedTerseLabel": "Less: Accumulated amortization"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAdditions": {
     "auth_ref": [
      "r261"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions made to capitalized computer software costs during the period.",
        "label": "Capitalized Computer Software, Additions",
        "terseLabel": "Capitalized software development costs during the period"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAdditions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAmortization1": {
     "auth_ref": [
      "r630",
      "r632"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for amortization of capitalized computer software costs.",
        "label": "Capitalized Computer Software, Amortization",
        "terseLabel": "Amortization expense with respect to software development costs during the period"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortization1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "auth_ref": [
      "r631"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.",
        "label": "Capitalized Computer Software, Gross",
        "terseLabel": "Capitalized software development costs, gross"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareNet": {
     "auth_ref": [
      "r629"
     ],
     "calculation": {
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.",
        "label": "Capitalized Computer Software, Net",
        "terseLabel": "Capitalized software development costs, net",
        "totalLabel": "Capitalized software development costs, net"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails",
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetSoftwareDevelopmentCostsDetails",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "auth_ref": [
      "r250"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Amortization",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Capitalized Contract Cost, Amortization Period",
        "terseLabel": "Amortization period of deferred cost"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_CapitalizedContractCostNet": {
     "auth_ref": [
      "r249"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Net",
        "terseLabel": "Deferred costs"
       }
      }
     },
     "localname": "CapitalizedContractCostNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostNetCurrent": {
     "auth_ref": [
      "r249"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current.",
        "label": "Capitalized Contract Cost, Net, Current",
        "terseLabel": "Deferred costs, current"
       }
      }
     },
     "localname": "CapitalizedContractCostNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostNetNoncurrent": {
     "auth_ref": [
      "r249"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent.",
        "label": "Capitalized Contract Cost, Net, Noncurrent",
        "terseLabel": "Deferred costs, noncurrent"
       }
      }
     },
     "localname": "CapitalizedContractCostNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r23",
      "r48",
      "r108"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of cash and cash equivalent balance.",
        "label": "Cash and Cash Equivalents [Axis]",
        "terseLabel": "Cash and Cash Equivalents [Axis]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Cash equivalents:"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r30",
      "r109",
      "r116",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances.  Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash, Cash Equivalents and Restricted Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r100",
      "r108",
      "r114"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "End of period",
        "periodStartLabel": "Beginning of period",
        "totalLabel": "Total cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]",
        "terseLabel": "Cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r100",
      "r500"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashDivestedFromDeconsolidation": {
     "auth_ref": [
      "r92"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reduction in cash due to no longer including the former subsidiary's cash in the consolidated entity's cash.",
        "label": "Cash Divested from Deconsolidation",
        "terseLabel": "Cash divested"
       }
      }
     },
     "localname": "CashDivestedFromDeconsolidation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r118",
      "r120",
      "r144",
      "r148",
      "r149",
      "r151",
      "r153",
      "r162",
      "r163",
      "r164",
      "r231",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/Cover",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Class of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r61",
      "r288",
      "r577",
      "r600"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 11)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock representing ownership interest in a corporation.",
        "label": "Common Class A [Member]",
        "verboseLabel": "Class A common stock"
       }
      }
     },
     "localname": "CommonClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/Cover",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonClassBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.",
        "label": "Common Class B [Member]",
        "verboseLabel": "Class B common stock"
       }
      }
     },
     "localname": "CommonClassBMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/Cover",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r124",
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (usd per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r38",
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]",
        "terseLabel": "Retirement Benefits [Abstract]"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CompensationRelatedCostsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Related Costs [Abstract]"
       }
      }
     },
     "localname": "CompensationRelatedCostsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CompensationRelatedCostsGeneralTextBlock": {
     "auth_ref": [
      "r344",
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Compensation Related Costs, General [Text Block]",
        "terseLabel": "Accrued Employee Expenses"
       }
      }
     },
     "localname": "CompensationRelatedCostsGeneralTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "auth_ref": [
      "r115",
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.",
        "label": "Compensation Related Costs, Policy [Policy Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r73",
      "r75",
      "r76",
      "r80",
      "r581",
      "r602"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Equipment [Member]",
        "terseLabel": "Computer equipment"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r168",
      "r590"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentrations of Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress [Member]",
        "terseLabel": "Construction in process"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r319",
      "r320",
      "r331"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r332"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Deferred revenue recognized during the period"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConversionOfStockAmountConverted1": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Conversion of Stock, Amount Converted",
        "negatedTerseLabel": "Conversion of Class B stock to Class A stock"
       }
      }
     },
     "localname": "ConversionOfStockAmountConverted1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConversionOfStockByUniqueDescriptionAxis": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by description of stock conversions.",
        "label": "Stock Conversion Description [Axis]",
        "terseLabel": "Stock Conversion Description [Axis]"
       }
      }
     },
     "localname": "ConversionOfStockByUniqueDescriptionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConversionOfStockNameDomain": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The unique name of a noncash or part noncash stock conversion.",
        "label": "Conversion of Stock, Name [Domain]",
        "terseLabel": "Conversion of Stock, Name [Domain]"
       }
      }
     },
     "localname": "ConversionOfStockNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConversionOfStockSharesConverted1": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Conversion of Stock, Shares Converted",
        "negatedTerseLabel": "Conversion of Class B stock to Class A stock (in shares)"
       }
      }
     },
     "localname": "ConversionOfStockSharesConverted1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CorporateBondSecuritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).",
        "label": "Corporate Bond Securities [Member]",
        "terseLabel": "Corporate bonds",
        "verboseLabel": "Corporate bonds"
       }
      }
     },
     "localname": "CorporateBondSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r83",
      "r563"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenue (exclusive of depreciation and amortization)"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsAndExpenses": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total costs of sales and operating expenses for the period.",
        "label": "Costs and Expenses",
        "totalLabel": "Total costs and operating expenses"
       }
      }
     },
     "localname": "CostsAndExpenses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "terseLabel": "Costs and operating expenses:"
       }
      }
     },
     "localname": "CostsAndExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Current"
       }
      }
     },
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r441",
      "r451"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r441",
      "r451",
      "r453"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Total current"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r441",
      "r451"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State and local"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships",
        "verboseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DatabasesMember": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal rights granted to the owner or licensee of collections of information stored in electronic form (such as on computer disks or files).",
        "label": "Database Rights [Member]",
        "verboseLabel": "Database"
       }
      }
     },
     "localname": "DatabasesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]",
        "terseLabel": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Variable rate, basis spread percent"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r33",
      "r301",
      "r574",
      "r592"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Principal amounts due under Term Loan"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFairValue": {
     "auth_ref": [
      "r498"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.",
        "label": "Debt Instrument, Fair Value Disclosure",
        "terseLabel": "Fair value of term loan"
       }
      }
     },
     "localname": "DebtInstrumentFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r59",
      "r122",
      "r309",
      "r312",
      "r313",
      "r314",
      "r508",
      "r509",
      "r511",
      "r589"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": {
     "auth_ref": [
      "r302",
      "r510"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs.",
        "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net",
        "terseLabel": "Capitalized deferred financing costs"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of debt issuance costs that were incurred during a noncash or partial noncash transaction.",
        "label": "Debt Issuance Costs Incurred During Noncash or Partial Noncash Transaction",
        "terseLabel": "Debt issuance and other financing costs accrued, not paid"
       }
      }
     },
     "localname": "DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": {
     "auth_ref": [
      "r229"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale, Realized Gain",
        "terseLabel": "Gross Realized Gains"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedGain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": {
     "auth_ref": [
      "r229"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale, Realized Loss",
        "negatedLabel": "Gross Realized Losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTable": {
     "auth_ref": [
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-sale [Table]",
        "terseLabel": "Debt Securities, Available-for-sale [Table]"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common shares reserved for future issuance related to deferred compensation arrangements with individuals.",
        "label": "Deferred Compensation Arrangement with Individual, Common Stock Reserved for Future Issuance",
        "terseLabel": "Aggregate number of shares reserved for stock incentive plan"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r442",
      "r451"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]",
        "terseLabel": "Deferred"
       }
      }
     },
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r52",
      "r510"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Net",
        "negatedLabel": "Unamortized debt financing costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r419",
      "r420"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r106",
      "r121",
      "r442",
      "r451",
      "r452",
      "r453"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "totalLabel": "Total deferred"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r34",
      "r35",
      "r431",
      "r573",
      "r591"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r419",
      "r420"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.",
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r442",
      "r451"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "terseLabel": "State and local"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r432"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r434"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "negatedTotalLabel": "Total net deferred tax (liabilities) assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred income tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "auth_ref": [
      "r437",
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "terseLabel": "Research and development tax credits"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r433"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "periodEndLabel": "Valuation allowance, at end of year",
        "periodStartLabel": "Valuation allowance, at beginning of year"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r420",
      "r434"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total net deferred tax (liabilities) assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "negatedTerseLabel": "Intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.",
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "negatedTerseLabel": "Lease liability"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "negatedTerseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r439",
      "r440"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "negatedTerseLabel": "Property, equipment and software"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesComponentsofDeferredTaxAssetsLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "terseLabel": "401k cash contributions"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RetirementPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r106",
      "r276"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense on property and equipment"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r106",
      "r181"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for depreciation, depletion, and amortization of property and equipment costs, including methods used and estimated useful lives and how impairment of such assets is assessed and recognized.",
        "label": "Depreciation, Depletion, and Amortization [Policy Text Block]",
        "terseLabel": "Depreciation and Amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortizationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effect in current period from application of guidance for revenue from contract with customer compared with guidance for revenue recognition applicable prior to change when using transition method for cumulative effect in period including initial date of application.",
        "label": "Difference between Revenue Guidance in Effect before and after Topic 606 [Member]",
        "terseLabel": "Difference between revenue guidance in effect before and after topic 606"
       }
      }
     },
     "localname": "DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r330",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]",
        "terseLabel": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax": {
     "auth_ref": [
      "r3",
      "r5",
      "r7"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.",
        "label": "Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax",
        "terseLabel": "Gain on sale of subsidiary"
       }
      }
     },
     "localname": "DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation": {
     "auth_ref": [
      "r4",
      "r5",
      "r6",
      "r7",
      "r14",
      "r19",
      "r421",
      "r450",
      "r457"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.",
        "label": "Discontinued Operation, Tax Effect of Discontinued Operation",
        "terseLabel": "Tax expense relating to the MyCase transaction"
       }
      }
     },
     "localname": "DiscontinuedOperationTaxEffectOfDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation": {
     "auth_ref": [
      "r5",
      "r7",
      "r19",
      "r457"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) on gain (loss) not previously recognized resulting from the disposal of a discontinued operation.",
        "label": "Discontinued Operation, Tax Effect of Gain (Loss) from Disposal of Discontinued Operation",
        "terseLabel": "Tax expense on gain of sale"
       }
      }
     },
     "localname": "DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DiscontinuedOperationsDisposedOfBySaleMember": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of by sale and representing a strategic shift that has or will have a major effect on operations and financial results.",
        "label": "Discontinued Operations, Disposed of by Sale [Member]",
        "terseLabel": "Discontinued operations, disposed of by sale"
       }
      }
     },
     "localname": "DiscontinuedOperationsDisposedOfBySaleMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by disposal group classification.",
        "label": "Disposal Group Classification [Axis]",
        "terseLabel": "Disposal Group Classification [Axis]"
       }
      }
     },
     "localname": "DisposalGroupClassificationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations.",
        "label": "Disposal Group Classification [Domain]",
        "terseLabel": "Disposal Group Classification [Domain]"
       }
      }
     },
     "localname": "DisposalGroupClassificationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Consideration",
        "terseLabel": "Consideration for disposal of subsidiary"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenue": {
     "auth_ref": [
      "r0",
      "r1",
      "r16",
      "r280"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as deferred revenue attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Deferred Revenue",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationGoodwill1": {
     "auth_ref": [
      "r0",
      "r1",
      "r16",
      "r280"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount classified as goodwill attributable to disposal group held for sale or disposed of.",
        "label": "Disposal Group, Including Discontinued Operation, Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationGoodwill1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherIncome": {
     "auth_ref": [
      "r15"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other income attributable to disposal group, including, but not limited to, discontinued operation.",
        "label": "Disposal Group, Including Discontinued Operation, Other Income",
        "terseLabel": "Income received"
       }
      }
     },
     "localname": "DisposalGroupIncludingDiscontinuedOperationOtherIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "auth_ref": [
      "r365",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of disposal group.",
        "label": "Disposal Group Name [Domain]",
        "terseLabel": "Disposal Group Name [Domain]"
       }
      }
     },
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net income per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r81",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r141",
      "r144",
      "r151",
      "r152",
      "r153",
      "r157",
      "r158",
      "r582",
      "r603"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic (in usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r81",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r144",
      "r151",
      "r152",
      "r153",
      "r157",
      "r158",
      "r582",
      "r603"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted (in usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r154",
      "r156"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Net Income per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r422"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Provision for (benefit from) income taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "U.S. federal statutory income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Percent",
        "terseLabel": "Meals and entertainment"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Percent",
        "negatedTerseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other permanent differences"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State and local income taxes, net of federal benefit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r422",
      "r454"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "negatedTerseLabel": "Research and development tax credits"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesEffectiveIncomeTaxReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Accrued employee expenses",
        "totalLabel": "Accrued employee expenses"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/AccruedEmployeeExpensesDetails",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost capitalized for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Amount Capitalized",
        "terseLabel": "Stock-based compensation capitalized for software development"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Stock-based compensation expense, weighted average recognition period (in years)"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r398"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Remaining stock-based compensation expense for unvested shares, not yet recognized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "auth_ref": [
      "r400"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Exercise of Option, Tax Benefit",
        "terseLabel": "Excess tax benefit"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-based Payment Arrangement, Option [Member]",
        "verboseLabel": "Employee stock options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]",
        "terseLabel": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r129",
      "r138",
      "r140",
      "r161",
      "r235",
      "r308",
      "r315",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r614",
      "r615",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r498"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as an estimate of fair value.",
        "label": "Estimate of Fair Value Measurement [Member]",
        "terseLabel": "Estimate of fair value measurement"
       }
      }
     },
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r488",
      "r489",
      "r490",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r488",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Fair Value, Assets Measured on Recurring Basis"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r347",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r361",
      "r489",
      "r535",
      "r536",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "auth_ref": [
      "r488",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement basis.",
        "label": "Measurement Basis [Axis]",
        "terseLabel": "Measurement Basis [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementBasisAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r488",
      "r489",
      "r491",
      "r492",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]",
        "terseLabel": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosureItemAmountsDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value.",
        "label": "Fair Value Measurement [Domain]",
        "terseLabel": "Fair Value Measurement [Domain]"
       }
      }
     },
     "localname": "FairValueDisclosureItemAmountsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]",
        "terseLabel": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r347",
      "r349",
      "r354",
      "r361",
      "r489",
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "Level\u00a01"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r347",
      "r349",
      "r354",
      "r361",
      "r489",
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Level\u00a02"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r347",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r361",
      "r489",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r488",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).  Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]",
        "terseLabel": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r347",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r361",
      "r535",
      "r536",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r493",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair value, measurements, recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FederalFundsEffectiveSwapRateMember": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg.",
        "label": "Fed Funds Effective Rate Overnight Index Swap Rate [Member]",
        "terseLabel": "Federal funds rate"
       }
      }
     },
     "localname": "FederalFundsEffectiveSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r227",
      "r228",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r244",
      "r245",
      "r246",
      "r247",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument [Axis]"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Weighted Average\u00a0Useful Life in Years",
        "verboseLabel": "Estimated useful lives (in years)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r267"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedTerseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r269"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r269"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r269"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r269"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r269"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r261",
      "r263",
      "r267",
      "r270",
      "r564",
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r267",
      "r568"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross\u00a0Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r261",
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r267",
      "r564"
     ],
     "calculation": {
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net\u00a0Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillAmortizationExpenseDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture and Fixtures [Member]",
        "terseLabel": "Furniture and fixtures"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSaleOfBusiness": {
     "auth_ref": [
      "r106",
      "r481"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.",
        "label": "Gain (Loss) on Disposition of Business",
        "negatedTerseLabel": "Gain on sale of business"
       }
      }
     },
     "localname": "GainLossOnSaleOfBusiness",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r251",
      "r253",
      "r571"
     ],
     "calculation": {
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Goodwill at December 31, 2020",
        "periodStartLabel": "Goodwill at December 31, 2019",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r254"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "negatedTerseLabel": "Goodwill attributed to MyCase divestiture"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible Assets, net and Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwill"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r256",
      "r264"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r106",
      "r252",
      "r255",
      "r257"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Impairment of goodwill"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairmentLossNetOfTax": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of loss recognized that results from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss, Net of Tax",
        "terseLabel": "Impairment losses for goodwill"
       }
      }
     },
     "localname": "GoodwillImpairmentLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill [Member]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill": {
     "auth_ref": [
      "r106",
      "r271"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.",
        "label": "Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill)",
        "terseLabel": "Impairment charges related to the identified long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r275",
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of Long-Lived Assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r78",
      "r183",
      "r192",
      "r195",
      "r198",
      "r201",
      "r569",
      "r579",
      "r584",
      "r604"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before provision for (benefit from) income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "auth_ref": [
      "r365",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of disposal group.",
        "label": "Disposal Group Name [Axis]",
        "terseLabel": "Disposal Group Name [Axis]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails",
      "http://www.appfolio.com/role/NatureofBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]",
        "terseLabel": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable": {
     "auth_ref": [
      "r1",
      "r8",
      "r9",
      "r10",
      "r11",
      "r12",
      "r13",
      "r17",
      "r20",
      "r21",
      "r22",
      "r281",
      "r282"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.",
        "label": "Disposal Groups, Including Discontinued Operations [Table]",
        "terseLabel": "Disposal Groups, Including Discontinued Operations [Table]"
       }
      }
     },
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetNarrativeDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r423",
      "r429",
      "r436",
      "r449",
      "r455",
      "r458",
      "r459",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r424"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.",
        "label": "Income Tax Examination, Penalties and Interest Accrued",
        "terseLabel": "Income tax examination, penalties and interest accrued"
       }
      }
     },
     "localname": "IncomeTaxExaminationPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r139",
      "r140",
      "r182",
      "r421",
      "r450",
      "r456",
      "r605"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      },
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for (benefit from) income taxes",
        "totalLabel": "Total income tax provision (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
      "http://www.appfolio.com/role/IncomeTaxesComponentsofIncomeTaxesDetails",
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r77",
      "r116",
      "r417",
      "r418",
      "r429",
      "r430",
      "r435",
      "r443",
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r102",
      "r110"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedTerseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r105"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "terseLabel": "Benefit on reversal of tax liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "terseLabel": "Accrued employee expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Other Accrued Liabilities",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedTerseLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedTerseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r145",
      "r146",
      "r147",
      "r153"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Plus: weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about effect of transition method for cumulative effect in initial period of application.",
        "label": "Initial Application Period Cumulative Effect Transition [Axis]",
        "terseLabel": "Initial Application Period Cumulative Effect Transition [Axis]"
       }
      }
     },
     "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effect of transition method for cumulative effect in initial period of application.",
        "label": "Initial Application Period Cumulative Effect Transition [Domain]",
        "terseLabel": "Initial Application Period Cumulative Effect Transition [Domain]"
       }
      }
     },
     "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r259",
      "r265"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r583"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "terseLabel": "Interest (expense) income, net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r99",
      "r101",
      "r110"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InternalUseSoftwarePolicy": {
     "auth_ref": [
      "r116",
      "r272",
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs incurred when both (1) the software is acquired, internally developed, or modified solely to meet the entity's internal needs, and (2) during the software's development or modification, no substantive plan exists or is being developed to market the software externally.",
        "label": "Internal Use Software, Policy [Policy Text Block]",
        "terseLabel": "Capitalized Software Development Costs"
       }
      }
     },
     "localname": "InternalUseSoftwarePolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InternetDomainNamesMember": {
     "auth_ref": [
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "String of typographic characters used to describe the location of a specific individual, business, computer, or piece of information online. Formally known as the Uniform Resource Locator or URL, it is often considered to be the address of a certain World Wide Web site.",
        "label": "Internet Domain Names [Member]",
        "terseLabel": "Domain names"
       }
      }
     },
     "localname": "InternetDomainNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "terseLabel": "Available-for-sale Investments, by Remaining Contract Maturity"
       }
      }
     },
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments, Debt and Equity Securities [Abstract]"
       }
      }
     },
     "localname": "InvestmentsDebtAndEquitySecuritiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseAndRentalExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "Operating Leases, Rent Expense",
        "verboseLabel": "Operating rental expense"
       }
      }
     },
     "localname": "LeaseAndRentalExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of Components of Lease Expense"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r277"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Mininum Lease Payments Under Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r527"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r518"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LessorOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r530"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessor, Operating Lease, Renewal Term",
        "terseLabel": "Lease renewal term"
       }
      }
     },
     "localname": "LessorOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r56",
      "r120",
      "r194",
      "r231",
      "r478",
      "r482",
      "r483",
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "terseLabel": "Liabilities [Abstract]"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r45",
      "r120",
      "r231",
      "r499",
      "r575",
      "r598"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r58",
      "r120",
      "r231",
      "r478",
      "r482",
      "r483",
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability": {
     "auth_ref": [
      "r606",
      "r607"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount needed to reflect the estimated ultimate cost of settling claims relating to casualty insurance insured events that have occurred on or before a particular date (ordinarily, the balance sheet date) and the amount needed to provide for the estimated ultimate cost required to investigate and settle claims relating to insured events that have occurred on or before a particular date (ordinarily, the balance sheet date), whether or not reported to the insurer at that date.",
        "label": "Liability for Claims and Claims Adjustment Expense, Property Casualty Liability",
        "terseLabel": "Liability for reported claims and claims incurred but not reported"
       }
      }
     },
     "localname": "LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.",
        "label": "Line of Credit Facility, Commitment Fee Percentage",
        "terseLabel": "Commitment fee percentage"
       }
      }
     },
     "localname": "LineOfCreditFacilityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r54"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "terseLabel": "Unused capacity, commitment fee percentage"
       }
      }
     },
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Line of Credit [Member]",
        "terseLabel": "Credit facility"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "LIBOR"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r33",
      "r303",
      "r574",
      "r594"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "totalLabel": "Long-term debt, net of unamortized debt financing costs"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "verboseLabel": "Term loan, net\u2014current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-term Debt [Text Block]",
        "terseLabel": "Long-term Debt"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r59"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r59",
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Loss Contingencies [Line Items]",
        "terseLabel": "Loss Contingencies [Line Items]"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r288",
      "r289",
      "r290",
      "r292",
      "r293",
      "r294",
      "r296",
      "r298",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]",
        "terseLabel": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "auth_ref": [
      "r288"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss contingency liability.",
        "label": "Loss Contingency Accrual",
        "terseLabel": "Loss contingency accrual"
       }
      }
     },
     "localname": "LossContingencyAccrualAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyEstimateOfPossibleLoss": {
     "auth_ref": [
      "r291",
      "r295",
      "r298"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the estimated amount of loss from the specified contingency as of the balance sheet date.",
        "label": "Loss Contingency, Estimate of Possible Loss",
        "terseLabel": "Estimate of possible loss"
       }
      }
     },
     "localname": "LossContingencyEstimateOfPossibleLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "auth_ref": [
      "r588"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for investment classified as marketable security.",
        "label": "Marketable Securities, Policy [Policy Text Block]",
        "terseLabel": "Investment Securities"
       }
      }
     },
     "localname": "MarketableSecuritiesPolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.",
        "label": "Money Market Funds [Member]",
        "terseLabel": "Money market funds"
       }
      }
     },
     "localname": "MoneyMarketFundsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r165",
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Nature of Business"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/NatureofBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r100"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash (used in) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r100"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash from investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r100",
      "r104",
      "r107"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r22",
      "r72",
      "r74",
      "r79",
      "r107",
      "r120",
      "r128",
      "r133",
      "r134",
      "r135",
      "r136",
      "r139",
      "r140",
      "r150",
      "r183",
      "r192",
      "r195",
      "r198",
      "r201",
      "r231",
      "r499",
      "r580",
      "r601"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss",
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]",
        "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r135",
      "r157",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r445",
      "r446",
      "r447",
      "r448",
      "r565",
      "r566",
      "r567",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table]",
        "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Pronouncements and Recent Accounting Pronouncements Not Yet Adopted"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Noncash investing and financing activities"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1": {
     "auth_ref": [
      "r111",
      "r112",
      "r113"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash consideration received for selling an asset or business through a noncash (or part noncash) transaction.",
        "label": "Noncash or Part Noncash Divestiture, Amount of Consideration Received",
        "terseLabel": "Employee retention bonus pool"
       }
      }
     },
     "localname": "NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]",
        "terseLabel": "Non-compete agreements",
        "verboseLabel": "Non-compete agreement"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": {
     "auth_ref": [
      "r378"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares.",
        "label": "Nonvested Restricted Stock Shares Activity [Table Text Block]",
        "terseLabel": "Schedule of Restricted Stock Activity"
       }
      }
     },
     "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segments"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_NumberOfReportingUnits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.",
        "label": "Number of Reporting Units",
        "terseLabel": "Number of reporting units"
       }
      }
     },
     "localname": "NumberOfReportingUnits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.",
        "label": "Office Equipment [Member]",
        "terseLabel": "Office equipment"
       }
      }
     },
     "localname": "OfficeEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r183",
      "r192",
      "r195",
      "r198",
      "r201"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r520",
      "r528"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Total commitment under lease",
        "totalLabel": "Total lease liabilities",
        "verboseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Other current liabilities",
        "verboseLabel": "Current portion of lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails",
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r516",
      "r522"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities included in operating cash flows"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r513"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets",
        "verboseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r525",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted-average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r524",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted-average remaining lease term (years)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofComponentsofLeaseexpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r437"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrderOrProductionBacklogMember": {
     "auth_ref": [
      "r472"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination.",
        "label": "Order or Production Backlog [Member]",
        "terseLabel": "Backlog",
        "verboseLabel": "Backlog"
       }
      }
     },
     "localname": "OrderOrProductionBacklogMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsMember": {
     "auth_ref": [
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other assets.",
        "label": "Other Assets [Member]",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r66",
      "r68"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Changes in unrealized gains on investment securities",
        "verboseLabel": "Other comprehensive income"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentAssetsMember": {
     "auth_ref": [
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current assets.",
        "label": "Other Current Assets [Member]",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current liabilities.",
        "label": "Other Current Liabilities [Member]",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r27",
      "r28",
      "r57"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r60"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.",
        "label": "Other Noncash Income (Expense)",
        "negatedTerseLabel": "Other"
       }
      }
     },
     "localname": "OtherNoncashIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r85"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income (expense), net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.",
        "label": "Patents [Member]",
        "terseLabel": "Patents"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r98"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedTerseLabel": "Payment of contingent consideration"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForLegalSettlements": {
     "auth_ref": [
      "r103"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid for the settlement of litigation or for other legal issues during the period.",
        "label": "Payments for Legal Settlements",
        "terseLabel": "Ultimate settlement amount"
       }
      }
     },
     "localname": "PaymentsForLegalSettlements",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedTerseLabel": "Purchase of treasury stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "auth_ref": [
      "r97"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.",
        "label": "Payments of Debt Issuance Costs",
        "negatedLabel": "Payment of debt issuance costs"
       }
      }
     },
     "localname": "PaymentsOfDebtIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payment, Tax Withholding, Share-based Payment Arrangement",
        "negatedTerseLabel": "Tax withholding for net share settlement"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r86",
      "r89",
      "r218"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Payments to Acquire Debt Securities, Available-for-sale",
        "negatedTerseLabel": "Purchases of available-for-sale investments"
       }
      }
     },
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedTerseLabel": "Cash paid in business acquisition, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedTerseLabel": "Purchases of property, equipment and intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToDevelopSoftware": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments to Develop Software",
        "negatedTerseLabel": "Capitalization of software development costs"
       }
      }
     },
     "localname": "PaymentsToDevelopSoftware",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r346",
      "r348",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r369"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Retirement Benefits [Text Block]",
        "terseLabel": "Retirement Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RetirementPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance shares"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r373",
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured at fair value for financial reporting purposes.",
        "label": "Portion at Fair Value Measurement [Member]",
        "terseLabel": "Portion at fair value measurement"
       }
      }
     },
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]",
        "terseLabel": "Preferred stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (usd per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $0.0001 par value, 25,000 shares authorized and no shares issued and outstanding as of December\u00a031, 2020 and December\u00a031, 2019"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r25",
      "r46",
      "r47"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses and Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesScheduleofMinimumLeasepaymentsUnderLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity.",
        "label": "Proceeds from Divestiture of Businesses, Net of Cash Divested",
        "terseLabel": "Proceeds from sale of business, net of cash divested"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries": {
     "auth_ref": [
      "r88"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).",
        "label": "Proceeds from Divestiture of Interest in Consolidated Subsidiaries",
        "terseLabel": "Proceeds from divestiture of subsidiary"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSecuredDebt": {
     "auth_ref": [
      "r94"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt.",
        "label": "Proceeds from Issuance of Secured Debt",
        "terseLabel": "Proceeds from issuance of debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "auth_ref": [
      "r86",
      "r87",
      "r218"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-sale",
        "terseLabel": "Proceeds from maturities of available-for-sale investments",
        "verboseLabel": "Gross Proceeds from Maturities"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r86",
      "r87",
      "r218"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Proceeds from Sale of Debt Securities, Available-for-sale",
        "terseLabel": "Proceeds from sales of available-for-sale investments",
        "verboseLabel": "Gross Proceeds from Sales"
       }
      }
     },
     "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r93",
      "r400"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from stock option exercises"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Information [Line Items]",
        "terseLabel": "Product Information [Line Items]"
       }
      }
     },
     "localname": "ProductInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]",
        "terseLabel": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r51",
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r284",
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and Equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r50",
      "r277"
     ],
     "calculation": {
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Gross property and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r31",
      "r32",
      "r279",
      "r599"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Total property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r49",
      "r116",
      "r279",
      "r626",
      "r627"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r31",
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Property and Equipment, net",
        "verboseLabel": "Schedule of Estimated Useful Lives of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetTables",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r31",
      "r277"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails",
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property and equipment, useful life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForOtherCreditLosses": {
     "auth_ref": [
      "r105",
      "r578"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to credit loss from transactions other than loan and lease transactions.",
        "label": "Provision for Other Credit Losses",
        "terseLabel": "Allowance for credit losses for available-for-sale investment securities"
       }
      }
     },
     "localname": "ProvisionForOtherCreditLosses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "terseLabel": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReinsuranceRetentionPolicyReinsuredRiskPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of risk reinsured on insurance products per entity policy.",
        "label": "Reinsurance Retention Policy, Reinsured Risk, Percentage",
        "terseLabel": "Quota share of tenant liability insurance provided, percent"
       }
      }
     },
     "localname": "ReinsuranceRetentionPolicyReinsuredRiskPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RepaymentsOfSecuredDebt": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.",
        "label": "Repayments of Secured Debt",
        "negatedTerseLabel": "Principal payments on debt"
       }
      }
     },
     "localname": "RepaymentsOfSecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development [Abstract]",
        "terseLabel": "Research and Development [Abstract]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r415",
      "r631"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r116",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and Product Development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "auth_ref": [
      "r633"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.",
        "label": "Research, Development, and Computer Software Disclosure [Text Block]",
        "terseLabel": "Capitalized Software Development Costs"
       }
      }
     },
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchMember": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Research tax credit carryforwards arising from certain qualifying expenditures incurred to develop new products and processes.",
        "label": "Research Tax Credit Carryforward [Member]",
        "terseLabel": "Research tax credit carryforward"
       }
      }
     },
     "localname": "ResearchMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r30",
      "r108",
      "r114",
      "r570",
      "r595"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents",
        "terseLabel": "Restricted cash included in other assets"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlowsReconciliation",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents [Domain]",
        "terseLabel": "Cash and Cash Equivalents [Domain]"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Unvested RSAs",
        "verboseLabel": "RSAs"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "netLabel": "RSUs",
        "verboseLabel": "Unvested restricted stock units"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r41",
      "r315",
      "r408",
      "r597",
      "r618",
      "r623"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r129",
      "r138",
      "r140",
      "r235",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448",
      "r614",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings/Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r179",
      "r180",
      "r191",
      "r196",
      "r197",
      "r203",
      "r204",
      "r206",
      "r329",
      "r330",
      "r563"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
      "http://www.appfolio.com/role/NatureofBusinessDetails",
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r117",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Revenue Recognition, Deferred Cost, and Cost of Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]",
        "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]"
       }
      }
     },
     "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.",
        "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]",
        "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Table]"
       }
      }
     },
     "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving credit facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r523",
      "r528"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Right-of-use assets obtained in exchange for operating lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Securities, Available-for-sale [Line Items]",
        "terseLabel": "Debt Securities, Available-for-sale [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.",
        "label": "Schedule of Available-for-sale Securities Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of Available-for-sale Securities"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r465",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/DivesturesandBusinessCombinationsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r465",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]",
        "terseLabel": "Schedule of Purchase Price Allocation"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of Components of Income Tax Expense (Benefit)"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r59",
      "r122",
      "r309",
      "r312",
      "r313",
      "r314",
      "r508",
      "r509",
      "r511",
      "r589"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table Text Block]",
        "terseLabel": "Summary of Long-term Debt"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r261",
      "r266",
      "r564"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r261",
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r256",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r132",
      "r135",
      "r159",
      "r160"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table Text Block]",
        "terseLabel": "Schedule of Impact of Adoption of New Revenue Standard Impact on Financial Statements"
       }
      }
     },
     "localname": "ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.",
        "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Schedule of Restricted Stock Units Activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line.",
        "label": "Schedule of Product Information [Table]",
        "terseLabel": "Schedule of Product Information [Table]"
       }
      }
     },
     "localname": "ScheduleOfProductInformationTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfProductInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of product information that are included in the discussion of the nature of an entity's operations.",
        "label": "Schedule of Product Information [Table Text Block]",
        "terseLabel": "Schedule of Product Information by Revenue Categories"
       }
      }
     },
     "localname": "ScheduleOfProductInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r51",
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/PropertyandEquipmentnetDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRealizedGainLossTableTextBlock": {
     "auth_ref": [
      "r229"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the proceeds from sales of available-for-sale securities and the gross realized gains and gross realized losses that have been included in earnings as a result of those sales.",
        "label": "Schedule of Realized Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of Sales and Maturities"
       }
      }
     },
     "localname": "ScheduleOfRealizedGainLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r373",
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r379",
      "r391",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Stock Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r62",
      "r118",
      "r162",
      "r163",
      "r305",
      "r306",
      "r307",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule of Stock by Class [Table]",
        "terseLabel": "Schedule of Stock by Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r428",
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of Unrecognized Tax Benefits Roll Forward"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).",
        "label": "Schedule of Weighted Average Number of Shares [Table Text Block]",
        "terseLabel": "Schedule of Weighted Average Number of Shares"
       }
      }
     },
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Scheduled of Future Amortization Expense"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CapitalizedSoftwareDevelopmentCostsnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets.",
        "label": "Secured Debt [Member]",
        "terseLabel": "Term loan"
       }
      }
     },
     "localname": "SecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsNarrativeDetails",
      "http://www.appfolio.com/role/LongtermDebtDetails",
      "http://www.appfolio.com/role/LongtermDebtSummaryofLongtemDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SecuredLongTermDebt": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.",
        "label": "Secured Long-term Debt, Noncurrent",
        "terseLabel": "Term loan, net"
       }
      }
     },
     "localname": "SecuredLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]",
        "terseLabel": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r175",
      "r177",
      "r178",
      "r183",
      "r184",
      "r195",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r205",
      "r206",
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Revenue and Other Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/RevenueandOtherInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r204"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "auth_ref": [
      "r116",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption.",
        "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]",
        "verboseLabel": "Sales and Marketing, General and Administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedTerseLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r387"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested, ending balance (in shares)",
        "periodStartLabel": "Unvested, beginning balance (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Number\u00a0of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r387"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Unvested, ending balance (usd per share)",
        "periodStartLabel": "Unvested, beginning balance (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant\u00a0Date Fair\u00a0Value\u00a0per\u00a0Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedTerseLabel": "Vested (in shares)",
        "terseLabel": "Shares vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Fair value of shares vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r382"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Options exercisable (shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r382"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Options exercisable, weighted average exercise price (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Intrinsic value of options exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedTerseLabel": "Options canceled/forfeited (shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Options canceled/forfeited (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Options granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r399"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Intrinsic value of options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r381",
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Options outstanding, ending balance (shares)",
        "periodStartLabel": "Options outstanding, beginning balance (shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Number\u00a0of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r380"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Options outstanding, ending balance (usd per share)",
        "periodStartLabel": "Options outstanding, beginning balance (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price\u00a0per\u00a0Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Options vested of expected to vest (shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Options vested and expected to vest, weighted average exercise price (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r371",
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockAwardsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Options exercised (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "verboseLabel": "Options granted (usd per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Payment Arrangement, Tranche One [Member]",
        "terseLabel": "Tranche one"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Third portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Payment Arrangement, Tranche Three [Member]",
        "terseLabel": "Tranche three"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheThreeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share-based Payment Arrangement, Tranche Two [Member]",
        "verboseLabel": "Tranche two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period",
        "terseLabel": "Maximum term of stock options granted"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options exercisable, weighted average remaining contractual life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options outstanding, weighted average remaining contractual life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options vested or expected to vest, weighted average remaining contractual life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options vested.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares",
        "terseLabel": "PSOs vested (in shares)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.",
        "label": "Software and Software Development Costs [Member]",
        "terseLabel": "Capitalized software development costs"
       }
      }
     },
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Internally developed software for sale, licensing or long-term internal use.",
        "label": "Software Development [Member]",
        "terseLabel": "Technology"
       }
      }
     },
     "localname": "SoftwareDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r36",
      "r37",
      "r38",
      "r118",
      "r120",
      "r144",
      "r148",
      "r149",
      "r151",
      "r153",
      "r162",
      "r163",
      "r164",
      "r231",
      "r308",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/Cover",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionPlansDetails",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails",
      "http://www.appfolio.com/role/StockholdersEquityClassACommonStockandClassBCommonStockReverseStockSplitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r64",
      "r124",
      "r125",
      "r126",
      "r129",
      "r138",
      "r140",
      "r161",
      "r235",
      "r308",
      "r315",
      "r405",
      "r406",
      "r407",
      "r447",
      "r448",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r614",
      "r615",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/StockholdersEquityAmendedandRestatedCertificateofIncorporationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]",
        "terseLabel": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r161",
      "r563"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r308",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted stock awards (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r37",
      "r38",
      "r308",
      "r315",
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Options exercised (shares)",
        "terseLabel": "Exercise of stock options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit",
      "http://www.appfolio.com/role/StockBasedCompensationStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "auth_ref": [
      "r37",
      "r38",
      "r308",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted stock awards"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r64",
      "r308",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Authorized amount under share repurchase program"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r37",
      "r38",
      "r308",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Repurchase of common stock (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r37",
      "r38",
      "r308",
      "r315"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Value",
        "negatedTerseLabel": "Repurchase of common stock"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r38",
      "r43",
      "r44",
      "r120",
      "r215",
      "r231",
      "r499"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r119",
      "r315",
      "r318"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r507",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent event"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r507",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r507",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/CommitmentandContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "auth_ref": [
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.",
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "terseLabel": "Summary of Valuation Allowance"
       }
      }
     },
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "auth_ref": [
      "r437"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Tax Credit Carryforward, Amount",
        "terseLabel": "Credit carryforwards"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TaxCreditCarryforwardAxis": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by specific tax credit related to an unused tax credit.",
        "label": "Tax Credit Carryforward [Axis]",
        "terseLabel": "Tax Credit Carryforward [Axis]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardNameDomain": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of the tax credit carryforward.",
        "label": "Tax Credit Carryforward, Name [Domain]",
        "terseLabel": "Tax Credit Carryforward, Name [Domain]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Income tax payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r216"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Accounts Receivable [Policy Text Block]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "auth_ref": [
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trademarks and Trade Names [Member]",
        "terseLabel": "Trademarks and trade names",
        "verboseLabel": "Trademark &amp; trade name"
       }
      }
     },
     "localname": "TrademarksAndTradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/BusinessCombinationsPurchasePriceAllocationDetails",
      "http://www.appfolio.com/role/IntangibleAssetsnetandGoodwillFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r227",
      "r228",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments [Domain]"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r63",
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofStockholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r63",
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets",
      "http://www.appfolio.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r38",
      "r308",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "terseLabel": "Repurchased shares (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r63",
      "r316",
      "r317"
     ],
     "calculation": {
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedTerseLabel": "Treasury stock, at cost, 419 and 371 shares of Class A common stock as of December\u00a031, 2020 and December\u00a031, 2019, respectively"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r308",
      "r315",
      "r316"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "terseLabel": "Reduction in stockholders' equity"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockholdersEquityShareRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r128",
      "r129",
      "r130",
      "r131",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r445",
      "r446",
      "r447",
      "r448",
      "r565",
      "r566",
      "r567",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Accounting Standards Update [Domain]",
        "terseLabel": "Type of Adoption [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201409Details",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesRecentlyAdoptedAccountingPronouncements201602Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "auth_ref": [
      "r347",
      "r361",
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).",
        "label": "US Treasury Securities [Member]",
        "terseLabel": "Treasury securities",
        "verboseLabel": "Treasury securities"
       }
      }
     },
     "localname": "USTreasurySecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsFairValueMeasurementsDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsInvestmentSecuritiesDetails",
      "http://www.appfolio.com/role/InvestmentSecuritiesandFairValueMeasurementsSalesandMaturitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r416",
      "r426"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Unrecognized tax benefit end of year",
        "periodStartLabel": "Unrecognized tax benefit beginning of year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r427"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Increases-tax positions in current year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r166",
      "r167",
      "r169",
      "r170",
      "r171",
      "r172",
      "r173"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r434"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Decrease in valuation allowance"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/IncomeTaxesChangesinValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r521",
      "r528"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable Lease, Cost",
        "terseLabel": "Variable lease cost"
       }
      }
     },
     "localname": "VariableLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/LongtermDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/StockBasedCompensationRestrictedStockUnitsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r143",
      "r153"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Weighted average common shares outstanding; diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "auth_ref": [
      "r141",
      "r142"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).",
        "label": "Weighted Average Number of Shares Issued, Basic",
        "terseLabel": "Weighted average common shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesIssuedBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted average common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r141",
      "r153"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "totalLabel": "Weighted average common shares outstanding; basic (in shares)",
        "verboseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/ConsolidatedStatementsofOperations",
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesRestrictedStock": {
     "auth_ref": [
      "r142"
     ],
     "calculation": {
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of restricted stock determined by relating the portion of time within a reporting period that restricted shares have been outstanding to the total time in that period. Restricted shares are subject to sales, contractual, regulatory or other restrictions that prevent or inhibit the holder from freely disposing of them before the restriction ends.",
        "label": "Weighted Average Number of Shares, Restricted Stock",
        "terseLabel": "Less: weighted average unvested restricted shares subject to repurchase (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesRestrictedStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.appfolio.com/role/SummaryofSignificantAccountingPoliciesNetIncomeperShareScheduleofWeightedAverageNumberofSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721659-107760"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721663-107760"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18726-107790"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721665-107760"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21728-107793"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721671-107760"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2646-109256"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1278-109256"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2626-109256"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e725-108305"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e765-108305"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70229-108054"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721494-107759"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721677-107760"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e4975-111524"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5033-111524"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5093-111524"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26610-111562"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26853-111562"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26626-111562"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "http://asc.fasb.org/topic&trid=2196928"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121558606&loc=SL82898722-210454"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131251-203054"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "40",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=118172244&loc=d3e17916-109280"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "50",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=16397303&loc=d3e19379-109286"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=SL51724579-110230"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12053-110248"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e957-107759"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=65877616&loc=d3e177068-122764"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21553-112644"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21484-112644"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21488-112644"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130561-203045"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130564-203045"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(i)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409950&loc=d3e20396-108366"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f(1))",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)-(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721523-107759"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(b)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121610041&loc=d3e36027-109320"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121582272&loc=SL5629052-113961"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121607252&loc=SL5864739-113975"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=d3e13220-108610"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=SL51721525-107759"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121329987&loc=SL77916155-209984"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918631-209977"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918666-209980"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121576215&loc=SL77919359-209981"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(a)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62652-112803"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222160&loc=d3e1012-107759"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(cc)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884095&loc=d3e14764-158437"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.28,29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04.16(a))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401414&loc=d3e603758-122996"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "730",
   "Topic": "985",
   "URI": "http://asc.fasb.org/subtopic&trid=2197926"
  },
  "r634": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r635": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r636": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r637": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r638": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r639": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r640": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r641": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r642": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3151-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1474-107760"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>103
<FILENAME>0001433195-21-000024-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001433195-21-000024-xbrl.zip
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
M[5.CFJDLB_*B1H,IQ0]3,M3FBZQ8\KGB?FO#72VW3LYAM(3 !$/+U:1&E:B
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
M?%*AHLMMZ,H0>Z!+C^*C4SWE%'P<331'.N%G!"4E;DZFE$O,@DD3X;,@FH@
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
M!5!U"'J8/NAJ?\4Q8+@)->L^B3>D[D$KSYC.^9(/YHS"PQXI3.%9]DTJ)+?
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
MW+G,$LH>>(;M8A8TT#OR6\R_BI2CN<=0L(C)&YI,47[8TJ+@4311E?&)/9X
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
MJ;HJ2@HKVX>VM[[G$/+(JU:Y<<\'[RH/=P</V.K?('>:9\]UXG8WI7:A#._
MA4%,\;\6A>MGU585=*#;&6IG!&!7R*(2M]3G+JQ@$:24=8*G)+Z4%1I$2">9
M*NT/0/$5+I%'S^ #6V+R%K[T1?$JVSVR'X_WR'Y=1"\;MWQ4T<:1^=$GMP;M
M6TL!R767+EG;AKU98*;8BY+&:1OO'5RY]S]< MW>WCL8@6:G;6GWX: ?NMIC
M:WN;EL!4\G.!&^JC1AR<'HB:F=8YL(JQI.V<^9H?3[WIYU_QJ5ZO\N+%W'K5
M!'S12"RS1Z2S4];^.BNNJ<R_13?L#KWO=F?G?S?>G?\6[0F.1XX,*W_1$=+)
M4)50=X.6/@8DC!;3ID:>'ZF\L>(Z2!C%D!WK1#KVP<!D\GO[+B'I$Y)'=PG)
M+XP4=][(>7X%IAR)Y-_+HED0' A\!!4]1P10J<ATLL(MI="@G<$X P.JZD8I
M<4.,(E+9/1G&$9_LH"^LUD&[HA+6=E=1SDAK^P)<AHBLSEAU5V*FZ(%^$#,'
M>I#JZ_20*+U#1VXID2;;7]M#OW>*H@LO\$(=5)T$+E W,&BQJ^0+A=>$?*,K
M6F(312R12L,P;0\9.Q&#S?=<YVY2OYC[=*$%?4/_;<F;#3U!##[[*IT;XX\&
M33C;K\JSBM-,!V!$,8@0?[V2S&30? M/AM6&G(?NM)O+K4E?A)4^W=7OR*B!
M2;PJ$D9 *20)CXFM*H>7JV92YB. AFI8G,1N]+2T@F58-PI:!DJ,F$DC5:#-
MI"RLY)9A#%93N,;E/#\:I@!SE5$<1NJ\V+0IZ6K9?20.>=$^I#U<5=:P-\P6
M-U,'FQ669E& WI%5] IKB:"2^2UZ6\M"/-M>2F A.P/:<U+VQAG4E2H;M)ZV
M)C@4-HXCTFS[N(7(NZO '9XH?-> ==D9[^$BK6<&Z:Q3IR4,+9=W'GHOBMI$
MNK3B1BM3 8UQ5"81-C+;7J&U)0//X(OR%V_7-W@R7M_@O=_1VW8&6L7R"+0>
M].J'<0W]S;G)_OG,#=,BQUFC0/<IK-J)=^I/.FF0A8KXT9'_/6BSZ* O:8'S
M4$KE,&TUP;>TNH0+P2GCYFG887$IOS$^+JP32]W1UKJ5EH;&P41R7)_,2B)I
M+)DYQ+0(@()G/]B='?MTO#OV%!8OI07D:,X'M BV;5UCV3N(PF*1R8:<%VF+
M<%?94?>M+[]A,:",,B;H8MDJ9$@@$%IXC$&(7 4L,:[!BP3MJ]E$*EV.6'[8
M;RES\P!L>*$HYW0[-PILS>"M2NE4))J 6C#([@@+3&18QEH9L51G2\,I_I9'
M@FVFB*D.\PN=UR'5$[P-&U:>44](5*5$;!^;<MO;A@]*Q-@E/CQ)['%A,'X-
M$WE&]>$4NN-.DPF;V-9Q9=PB]?RV-,_4 ATSE%P#0Y26R)A".4+^HH5\&X((
M>.B?'YX,V=J0NZ)DC@[&JV3. ODE&CS9&&=T)&Q;U^Q*9XNMLU^$1KY8[)11
MS[$=#/N5H6]FN*4<12))+??[DK#C;6E[="LPP@4UV-20[L21%RIW3[FSHD$.
ML79RUX)/;PO76,,ZU<Z_@M^\))7/K,^MEZ'J*$%!;_;\72FTW7KE_8>0@\J>
M&CT#O><7K(7;5=)G:>G:;*)1 @+)_CW"F%&@X;]Q5Q+\><0!%JS(+;4'_,/=
MZFLM3:3;1DDO#C%0-B*'./>11)] 4VT4I?--478+"^A=+<$0<4JK+':U8E1?
M-4=<1QI_D7'MBE!OG7/@XB:S<R$L<F",E0[U(V"62 1DHJUU&:9Z.VLK6M"4
M=H'-E?9T 56W$($5&Y<4R)\]MP \P98V8S5'>8E 3MP016929^#[=+7UILL.
M4"MPL2=-A308K>@J8CU[_/[4Q1"M;9#R:E$TU$@+WXLW K=/4]Q1E/GG2XW'
M&$PO)>.ZH52><G&X.:]"_3"E=D'>V!G3 _,R.!MWF4*?*3R^RQ1^29VQ>J/M
MRTZ+A_89-@$./B;]<.O=%Q-QF#U60K.(7.*@[3&V#F&66,7];UM!NS@P+G',
M9!]ZZY*R6KJD>_8M,)?3LD# W(7S)-7E,?@M-!R5#W325O8Q9NH\;]O0%DG9
M52JM01:92O3N>)HC9G-\CW%.01INVZ^\V#A05/&H,P=!Z5"\]J-.-D[3X?XK
M2MMHEV'6F#M!AH/-&*5LZYPK$#QL9YW1&1A'1%O;.I2;/# :O)=4:L3J=GHN
MVT,2OVK9&K:U<0//J6J[\WS6%<:,9$."41UH$>?F!S_T%#?NV>B0==^&FCZT
M1S]@\ AN35\61+G8X;1#L" &))>]!2T$6*Q]+J\ _X+8O;"\TL?O[ .1CBT#
M/S:CXE=77\K]CAKL98_?)!@]HTD3M>7]7*NHZA+$U78JHA868+13MD)<XPG5
MPH"NG-.GA'WBH;&3[B^0A>&JG6!E9'"[H\A&3!OSFGIU;ST.?YK9MN&$$B"8
M. &SX>YIB,+&<I(FMVCN7@26JS)MP-MGIOH%8T0,DC89-T?'\F(,^V+(EE7"
M#"Z.77B<4+4+YC(#!9.1DTIUVC46>X"9@,0T,>&=#/4:I"CQI:DXZ(37W#'@
M?DE*LVG76!-MHM*44O@>NBO\-]R8&CU4M-1M[F5'UF.R'XUB05IF^$VDSPNL
MGLXO[V=Z"G<Y.=FBBCY=+%Z!OU)@J4^R6BC&-.*ZSFEZH^@75=?PK__\1\71
MWS4<VV %2%?4;^%-'AU$+Q1L)VQD&+TL007?9E..Z$7^7F2ZAC5X 3H"5$]N
M5/3T^/#PN]^G8[;V.G_]R^'C@^_[_V:3@>Q[+AS'$)_5NO:T=2@,4+\( )S!
M$2L'+7,:EBDA,2F<&X*HL$&Q-P:89VOIFC.TX%9KCW97!R/J/Q4>A1DUK^>3
MWC9))+N6(%\NR) J,(>I=!:/[EWB CD:,2W2WQ&X1([=S^J:S+=71=G,MVV=
MKHJ 7])PA? 8H[*8;RD;P42)\Y<.2SRQ?+C058_F(R10EB)F9/H0B@:))DVT
M#0T%M:?,I6N1O;#G<#JMHU@0[GM1@C]O%AGC&3%Q"H_B.!H.:CV.TF9  WAO
MCZ@L6_+1A'9B@+L,VKVU&Z]85E(<,0R"(M<],M25\!?I[T:*9K#IN.LH(*R)
M[$KP1&%G4YW2F<EQ"[G#OW(CO:IJ7;5APU2CCHTOT.RR'(?HS3>3N7%)*2V<
M-KH=_) %[PRPV^SEB\X40=>3?4:DQ$$$$Z<$PXN95BE[-A^%7X81Q\[I[XP6
M&S17$2CSQC?A<CQ*@\.V:S2\/*XS3O SK*J>PQT6C XR*%[P1".DH,WN\-0=
MC9B<Z2>0#,S6;E\#H^+AL=@M5&F)0E%.394@TVHQ&PJ HJ2!&P^^.:;-I3LK
MR5(B]HF/%$@1KS<I E"73T>T;L\5+@&N7LX!MQ$<XYD*PZ:[(\ CIGQ!/P@G
M'U9N!$+<$AN!<X1XT2(GA3HO2LVGC(P\=@U40JYA8M- M(4].%IRBTB1W,5>
M8S!M:YO,%NK<XI+SQ3WP(@[#QMHI6^4&O5IF_X0YXY/=RAE_I=D,]@?=\YFI
MX7G)1@[HT\/OWU%")V7,VEN,W)U3@D/LS.AG\/NCYYG*/S*P_+T+\]&/7Q59
M5EQ7<*OC36.O7I4.S.DW?-7HSY%5 8>O_>^(_ME\+_^YM=ZCS]1Z^#(F_=L]
M<WQRHJ?JT?3)T\/CD\,GCR>/'CV"/S^9)L>3I\=I^N_O[HU,4SX>^<8Y?QU]
M.+]X??;^??3AI[-W9V]>#6:;*3CFS(WUS(M<,LYMWP1+LZF]ZF:K/S6W5E>M
MZ.[1X1\SR</$ "_>_/+V]/7_WB:+=W0RKE<X??OVU9N?S]_$T?GK%[=R/[;R
M$L/"_EQB2Z-U.58=,]_H?+\&!V"W9WQ[VW2%.J<BR1V>\+&I]O/7+\]^>7U^
M<79VBX1U..3UY]IG7C9F(?VBPK&;;W5CKAJ[R;J/2AX$??:'^N3K<25O2P//
MQ2-@?R3+MS*&L,+DX<0T[>M52W@+ ,*HWW75^SE<PND->(3/5%2[Z 1_3JBJ
M$WKR^#1'*>#<K>%XU+K)WLC'?C@ITB7\9U;/LQ__/U!+ P04    "  %@6%2
MXTJS>4H#  #Z%   %0   &$Q,C,Q,C!E>&AI8FET,C$Q+FAT;>U8;6_;-A#^
MOE_!:ACZI7JU$MNR(V"S,S2#TQ:IBZ"?!DH\VX?0I$#2=K1?/^HM3>-U?8&+
M8O;\01#)NX?'NWM.](V?35]/YN_?7)*567/RYMUOLZL)<5S?O^U-?'\ZGY*7
M\^L9B;T@)'-%A4:#4E#N^Y>O'.*LC"D2W]_M=MZNYTFU].<W?@45^UQ*#1XS
MS$G'U8Q] F7I3^-GKDNF,M^L01B2*Z &&-EH%$MRRT#?$==MI2:R*!4N5X9$
M01226ZGN<$N;=8.&0]KAC/UF//;K3<:99&4Z9K@ER"X<[)VQ,(OHX!SB, ["
M. O.\T$_&](X6IP/^^&?H372M^*-CC8EAPMGC<)=0;5_$D=>_ZPPHQTRLTK"
M(/C%J473\4(*8_=35K]Y;6#VP:A:6KQ,&B/72875SAA95$/GDU!? 3(R<&]<
MRG$IDMIQ+6JGGTLN5?)S4/]&U8J[H&OD9?)\CFO0Y!7LR(U<4_'\A;;!=C4H
M7#2"&O^")(SL)O5PUSBF;W$X"N@<%4:5:R[O5YBA#5OHA>3@ISF<CW*;.J!^
MD)-FJ V1"_)VDVED2!5:;#LV*R WL+2KEF_F,.Y[.*BA&8<.(9.*@7+M@3DM
M-"3=RXBA+C@M$Q2UV;72: O*8$YY"VEW:>DP#+U@$%:,,#8NAG7P+5F\FBR^
M8?MK\=#K#Z)/+@=>^$UKH3<8G'^CYK\8>^8->U]FK%\[0G4";=A[PYKF5M$Z
M6A=47#@]IY,I*&.V!"8!"6NI;H_O(-I:]SF=J+BOM!ZG$8>%>9H'3?X=G$/!
M$P[%3SED:W!C&H-<*EI]EI*-L/E<23GI ZO*!P(=U*/_X)VZ1OU'W//'1J%F
MF%?S'SGH:)+#27\MBM\E1TG>&>1H2G)-!5U"=5]X0:Y$[IUL9CCIQ-JPD$H@
M/?KH7XDM:%/?-O]/@!-*@&DIJ*Y9K^[ V/M,#B<?]2EPNJ,*CC7FCTBO-_;Z
MG -Y"VJ+.>@F]N2$@W_\E+^QE7V&XI[,9I,3#O0UYBM<TJ.]V,U!*5K5]4<T
MG\BU/5%Y\A7^I:WOB/N1]^L_\8=N3'U)0^9)"ZV030\Q4?9;9' +>TVU#^V)
MVJ3@@PK-M.0;LZ_RF3Y<^VRZ@G5_,OT;4$L#!!0    (  6!85*Q6\#&%P,
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
M-.I>$#PN=?7M(7=KJ\'K0<;N>(V])V7B"T'#"0# AA1DS;8D_Z *=%%0MG^
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
M(VH1*4]8EK!2S"D5-@J@/V"+EI%@]N!"9R,MF*!*H /"I566R"6H*=.8ZE@
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
M+0?-@K7DIRA=UJTYL[X"2R<+@VNZ:V\J*JF28 D%")XM80FBRS+83*I+/0X
M3<[@>G0 (IBP4I'31AT!-?.DSU2(*BM"DZQ8LNMCH9FT&3$Q5 G!:!Z,+"%1
MISW33@LY^]O59R3'<V'R3*$*AK(F171D\;!2H]X9[IAPT6F68ABO0BW NS"W
M9A*\/AIOK;&J ,N(X$W4W.D4(B8;A9E]\,Z4N34CG/1(P*ML)(PJY3)$X"(Z
M[XTQPD( 5\Z?G'WP+O#RD'@13 6==%(Q:, LK78N>26L&!U@IF<?+_=4\V%A
M:E8$P"'G9#4Y14E!2$@^KL%2V$OI<C)?6@!X86[.-H A9>=,S"H90),LDX1@
M1K".F11Y!33V3)F;,\1-CP3 F:%%F[-668!EUH8<DXC>!>,9F,=;DW2!F;\Y
MP\=Z(X7R8 +PK&R048FH%#*FI:V"T)N!9,^%O3D%:6==-,!,!,= 6T?>=F21
M))WR5F=K%\A=&)JSB5P>HQ?@1"D@#M(ZISG/QAF# KP)L0+(K92A^<BS_2>(
M7"#I&D$R 4R!3<8C1X*P ZM1..4J@-P%6!X*+#Y[%J.-&*P!",JZY)/B4C T
M0:AY<$=F/;E^85[^O&-DF(S>@N R (- ?E$)QT<7D\M65T%)5QV]"Q/SYU<?
M2<IFY)H4=@*.Y7RG))$\_9@52UY4 +V5,C$7F?X3S5H"%Q08%ICW$!QX'93+
M0D45'5YL;)IQ]"X \Z >M>8L)"&-),#X<I:=3]$Q1EYU))>E"K&@A;4W57T9
MF.!!9J&= 6NTMRZ31QN(U,E#?B2I9@N#Z^<+8UHT27B1>30@6;8!E+&E5%O*
MAJ<J'&HV4P;7HP-0=M:$X&2"D,'F[*1(22A-.DUDGZNP$/?H:*:X"CEXSQWS
M8*T( G,&+[DRT4I;@:TAM]/LI>\WOTCT7.T/FFT_P,U\=<O5AY5F/[:ZY>:Y
MC!Z\[G;V!]AKKV 8[)P=X\U'C\QW3.5B15";O'/D8 D9HP,$X;U2R)6S6CMI
M.%^@]EZ \KK9H7$L$U::WT/*G9\X[FW-QV:+Z'/S>5OXJ=OZ1,+T9J,JL>BL
M<(Q57/* 7&2GP=%/9!A28)''),C&F_UMFV]Z77K?P=F;%DW!4B>5A/[C$=.<
M?4:J/S[.SU?\P"_3!>R5W/]NFXB%O:OF]TFPB19)UE&"9QRM :)4B) "M]&"
MD8I'-?LBK@H$F^1:H?4YV@PB(P,=K6/286!E3W1"H2NPL_Y.!+L2AL->ISD@
MU4,-UYJGY5-5#KX/0J'P%KU##=IXCT%+- J#!4T?YX2UID6IB?*4B!Y!.9T!
MI/#.:^:1:9DB9S ^9WV.>&HSYV;$JFDJQ04Z=#QEJP%2*D<"J6R93<$SR!6(
M&\TJD289W /IDP*?'(^ @I/L$YS8*,@ 40@^9YSTFGPJ/.BVTGK[N-?]-([-
M5(2?.,DY[K&<:J# :1&\32D%F9R+) 8KL MMMDDUR?U6602=$GC.!" &)X44
M3IC,L\]!QCGCJN7N:"DX#JB+]0[=ND^F1%78*BHMHU5*%LYRQA '!0=)D@48
MC?056!^;<5I-,DF7"X/*D@6A+'W6#J0"!C$9H9%=%M9D3K)*TVKD_-YFGM/'
M:6@PYNJ238!\LM0_C9"R2!:BMS8XEE1$J2$[4X4JA>N=V&WC]L /+N*R1,:(
MVP>(A9A+*34+7_G6YPAL_^49?3GN]GWK5:\[/.Y3%ZUA:G;V2QN:G69GB&F3
M9M&76_O7$+!QMDRTKH@816]TXLEHE16@3I:)8E):H7V4GE>CYFUS@*^;GS"M
M=V@:]INAA4O]/@Z(AAO^L-M;;OG^%V'XY6%_0(CH;6%K3+^#YG%5-%]6B8E
M? >9"!6R=:0) U/"&2V<,Q]71M*4,UY?T.ZNBPC]WN#Y%@W@0I27KQ^PN7\P
MP+3TB9A\_QX8FA#0&ZR03+H0UYS^7/5S=>V*<NESTQM0NKSR,U 2#FQ&+J.*
M$'PNIPY(+5DVR%34U3AMX.X(NHI.A^H(:)&9X48#!*<A@K*!01(YNVQDT#94
M@-M_F;<JB8;I<S=:[U/R#&TTH(.PQBGFLT<A)7J5YI&[=S >=+JM[O[WEI5G
MA;^9]C+%J$OM;\C( K$R^A1(!"L?$R[X>V;Q,'T.=U$Z&:U4V0.0>^:U NZD
M-T*2":^J4+WY9RS G9Y/V/:]H^)9C[XT?+LRZY7**:N"$4%R!2Z'D($L>.YR
MRCE%+BK \5.@WL*"OSVT5BHJ928=1PL@A".5D:3B9"SR@%B!D/6/R_0W-+&=
MBOKNB,FYQ%4V#L@J<\D$^L!CBAB8KX*V?U"Z+;C^&RI$"@$@,YF,(+*WPFN/
M021KF ,V;Y;]Y4V-;HGC'N, E_9[6*E58)T3BE"RF2$ E\%3[SXX(J1+02F8
M5\;_!=(M>/]VAQ&-35'03X*-0.%%4!K &HE$;U&!)*J? M!ZR2?MX&"EV_;-
M3I7L_9@=&?>HI;,6R/@OD3O002HGE,R.58#U9]3#?U!L3)_S,V&#6VU<TI*
MQ(*57BICE#)"2#^O6O\-35>%%'WRG)=MVJA(U9,Y)LE$PRC(5#.>*+?@]IG%
MPPQP.'?)1>[!Q0B"?$//#1F(,7J+1O@J+.T^3J.,<Z*;)_,^!@LA2X?DT5MB
M>^ZX];("2=/52*.89$F?&((FT6P"D/D,R1N/Y)WE3.ZT=\867N/N@M<6M*N&
M2T;XN"OW?PFE7^#^8+PF*Y\95<Y2*J>+2&-U,IBCBR)6(,5[EA;.[X7;&>=B
M5,4B, =)*^+P8 0/R3GF5<0*</N,FF4/F$8Q'>XF32X9HA/,)@@Q>$-VF<?(
M-403=35JO\W0LOG];-U(2@6-Y&TY,L!XR8.,P-%%)VU,62WX>V;Q,'T.1W*S
M#'*E,02P)EBF2UJM (8FVE"%8GT52:.8(,<[!BH&@2H1QQNO7'8!>&396:LM
MFWO[?4[3**8C 3*I#"8C2"\-E%S;F#4"H,^2*Q:J<=;EC*=13')#F0 ID*-E
M)<\EHS5&D]P6#$6P*81YY?VY3:.8#M>+P!(S(H$P#$B)!*,0"5LN,0FA$C56
MJY!&,4FEGY6.TAJ'R4)F(LA(?B>7AED,<;RZ,H^,/\]I%-/A?2Y!:R]2U&C
M)BPGH >7R0G0@H>*'!PTHTOE]W/\"?ECR"WFLN\X)N$C<D\?O6+6D;56 =:?
M40]_:FD4T^%\9R6@XB8;P<B,-%X['ZR)0D3CE YSROD/D$8Q26Z7'(C5E;(0
M0"7O==(A2^^$(I>?Y06WSRP>IL_A(*)TP2MOR:XW/%K%LQ)*YV3 "U^!8IL_
M1='-7L+>9N]-KYO&A6)>^GC4ZE:E=KGC4209?&920N0RB.A4!M#(=18L5H#E
MIT&^A7U_.YJ DU$?533,@_?>>D7^8@H>T9 BJ4)X^'$2+HY*T(00G; 09:FW
MZ[*00F%2&$V>W2S76^BU08*@/6Q7)'?51H#H$BG-[$ 9XY6UI$N398K4IYGA
MK06W3;T_K=#4<RN= B>5B @L!,N2<LK0I/,8C:A 0??K1;5>=^,H-OV%Q=G#
M8]],JZ?'=.^H*MKFX ![R\->CQXU5H^S2ZXAJ?01K?K_R8,K(K3'ISV\& YZ
MS\N%RYLO?W_YO=Q]*^%]AJ*@B-WHAW;".YV8E\:HZ$+$B]W@7'!3O_PPJPBX
M>Y&\K68\\+W4[W9V\-3??RHWD9V;.ZBQ+YO^2DZ@,DXX&W12$A*.PE19&Z\Q
M@.:?*_0NR/D3//R90K]2AR&)$$!F+\C+P(16*<LAAZC0*\W&YUM9+@3,*H7F
MX7B77_,^;4&#@ F@ 3-$SY)F6D@0R,JIBX'(KZR0.J,<^0LC--0?#2Q^U7_X
M@CI_YS]\T?17]L<R\O:24XG<!0@ZNJR HU'9^NQ"]H^(K6>%MYQQBLR9Y%@
M,*05K=616>:23U)EK!!OO?>]I@\MW")T?D&7;B>5VLQ$N> [1YLY(]&HM'N]
M_G)S:U(2^.%D_D.ZL],7&S()7]8<4"AR?TE4:*,\T'_68CE988'1JF#TOOS^
MZ6,TDZ6JC%1DJP9PFC2:+:=(:+0)E!15LE&^C=$U,L5[OK4V[*3^*@$T#IJ?
M</O$'Y>F\X'0^96B5N@@2(IJ19#4GO0^9R$DP4B&&M1B@=!J('1^92@G/]]F
M:76IE\>XM@XX*.?!\K*]BU<(H8_4_9\^AKS20@;%540&P8'74B01N0@YE.*+
ME^>9"#>KT/D[0M[]_.B*>;3C(U&$F\1R3083D\_2D_P@#]:1>PM!29]B3HK9
MV4? (Q4>]X(&8;C,,IH<).D1[TF;B*292H8)Z[5[N)#3M"(\) $#S4 I8RJ@
MU#<$;KSEBMN@0](5"+H]2HDX001DSS!+&;3V 500H<A$+I$3#/3%&5^SF68S
M8R297$*="2F!XPPB"20GG14T_\8+:X-B,56 )(^3*2>' *)XM+$<X^L8N3G.
MHD(=+,K@>&;2SSX"OI]5,LHAN?_DD4GFM@<D,Q$9<F=!6.--#((G9T((/.<9
MSG![U'PYP6POT#D(#V0S*0N,K"01$FHR'(446>4*G+MU1[Z\R.UZW?2A0*59
MF:*]FANE-7EYP@* 1)?0HV%&.<EM20>8%\GYL!2:I'6C3+).&A_*QL"(#@S3
MH(-2G(.U=MYX:-;S(V\0)WD!/@3/9'+@C+6">^FS\MF"RZ("NVMGC3B3K)ZA
MF"4RV 1) 5?"6V6CT"PS(I>(5^'+^S^.^2<"-A,YT5B'F(1)V4=,8 BCV4:T
M1F-R.@LS6NP7_++.+OTSNSC='H8^_F=(-ZU^HA]?FT=?-+CG7%M^]^J[HZ:3
MV3)B3,)@K;2D ;R' $DH*[Q2A'#FQA7Z%--"S12@N:HS71=J$BQM2?&QI(W3
M",H:<BH0D:D<B,V--@\W S^-X\O#N4N:\>!LN=L^[G;HZY=5:[OM=K>S/>C&
MHTEY%U=/'NW)V\RCSF][ZGC/WKT*^<DA@I5CO:-/+!3'GUP-\B^E<1B+O:2-
M6B!B4HAX61%$H%.69YT5& 4EW8TY)92+/D8P%OG<(.)-#S.269;N HHI4N=J
M1]&G[@"_VE$TVEE1KES>?><M13&FI"U7.CH&P00;G";F9]&--CE4X0B*F9'-
MTS]:0"JF8LH".%DV7D3+"A>3R6H\1*.K='+8U.7J]*DI&&GAS'V*+D,$'KA2
M 9@"DL[>:U\A:BYW.Y^P5WYW0<F79^\Z3?(T5K ?>\WCSQ[S2)1=I^Q.=]ZY
MUI+Y)4Q@CI,,)F8-7IGLF'7"E6.;+DH*,R%FR\<N6_X%(>\7%5IJ]C .NKW;
ME=KEU1]7;%D+!U&@C@B1I2!"B%E"9M$[+O,7S,/D_3//O8*1R0FI$)^L(E^
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
MF,"!&+3Z@O2];PWQ36O8O[@TE\+42TLNM@HI<012C3Y:KJ($A=E:\%!]8?K
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
MM3P_>6&9^E)\_GZ?N2"C8GAO#KJ=1YL+HCY&;YT&'^N.R[+,C;(>4G+UD!.
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
M3F=*%@D!""EY2M,:LR/1LL+.@O1Q=X+CI I]4HO?^/N\.$6] \^ 4Z5;:C.
ME2A"=(3!%:A^#$Z2*4;'V"000J<8!RRW8;^;'MG?3E>%8.1H2]1O'CX]QYZ4
M.8'3D34-1%B$.>9+IG![C.E@R?V#[.BCI7TH1FA[B-?CC//XX#S6&)OQQBU!
MHN=X8K@N@V]/?UC5S:=96:_,U?"/U#S@WT'7]2]F[?@T]!\)OW_J0)1HY4.:
MB=(A( T[B$C$""7#Q(E9V,'^97FVX+P=K1>5D?APPA9Z"?*[1.@Z"G\$TG\G
M<QBXY.8HA!,Y/!<0F6<):P*IU]0-_<'+1=AG+_1>-M+HRZXZ-5D+D;#P+6Q6
M:82P"^Z[7#E7]394D,'F] 5%)=E+<S^\8 GKCS8\>JD2 L<&'H6UMLV@8&4#
M3M$<(3+^%D&X07/"Z[."NN@H8[X9M%"EU@'T)&9NX=/(=HU_ *F>@G)L+S@9
M%]2!#AX^VIOM7Z.$)#=7A&+QG->3HG0[NAFYM[N;=#BFQCC'1,LZ[\IEL2CQ
M \%(RS''.)E%AK7/ADN3PH K4S99#DA*?SFK6_3A<*M.X6_S&D2BBNPW0A*+
M)=BOKN%<"XH.]@:E_) --HQ1HC<24OC&606K?"HM=JC<S)5 <+.<]%>#^3>2
MWM9IY]I9AA,IN7VOI4Q..SUS\VQ,TCA#""]%Q06C05OX+=D]MRCK-=UB9U&O
M:"$B0)_7&)J3C$\I6>L[F8AY)?DP;#-M+^PSQ?_N/:/E@'\\3:5H>NZJSB4K
M$*M_/]A[N+N7P$.6E-;Z]_U'CW<?ZL_TQ7_?>Q9]1. 2Y!:EJ.0X%?OO^T\/
M=Y_P[<WE#O9V]Z)?RC6?[.\>]CX<7Y@2A2#5\&/.6=@Z.B@7N+YZ;$9<8*5:
MV$U.G/.UB@>;9D7_J>K( TY5#L,ZT[O;2GLMVJ]E"<_\X#\[.)K8[K?IHBCM
MZIS!17.W!-^D15A*UE!%J>4*';FB9#!IN^_D27C1H3^52)D!BYU%G6.<>^X:
MK=2-K+_C,$6<_W'-;A6,"!+#@8((':&? <H=PARJ&=!4-Y?3#1 '5CK4T2BV
M!IZ'6_)F?0PZ3X)SV/T3L-]T>I.#AWQPJ5ET9)LQYG/)KS6(,ASQ:S:17YCT
M^#73]WLN+L1-FG#:05JH@]NV4"\,6),>4]<+RYA:P+K9Q9/D_K%-&(U.;1U'
MB6R.6>YC^GY_<_K^MF?B;U?.#P%.QV<0D3N"W'YTR1&G/>YD$O"C!>EDB.6J
MUF17L@K32[-LRL[V? XF! $DV#815H>^@X:G628EA#!XA'UE7QOX0/^ E+%_
M1>:.T9)%WYG&_HWP-YL\0:8MC"0R!%'F()\%@9(P43GI(%(%6TI7AR](Y$EO
MTBFPUB=PT,)*M15,*40J5#,VX0A66<L:+"P86XQ93AO.8WN;345G]QG6I9EP
MP1G+]F%)))Z!_Q<X$O ;Y\2?@:HLO!@O7U$AH )KRL6_T&/6,#P5%@;/^DT,
M"3[BH] #3+59&G)1BVK12? 2,IZI0)014$#IB!AC'">#,%A<P%\H"P@O8G,*
MXLX,0B%<K(X0Z?38!6.W*" <+"*_]H2S5";G[/=A/>89V4266:.YX\@0__[)
MK3?FN*+@+X<G!)DEU_6RS,8NJH &Y:'FV+8**9JBR>E7ZV&NEZ-+NHUW'3/.
M$JOA,XE.2BYBI::AA0CKC)%O-L>"3BR0X0&'D2D]L9YJ^Y<=M% 04\,O2G*C
M9ACAX]O OZ8=(6)"GA96L9UQHDK"+Q^7ER")._#->?AXXXA$16(5O&OX4-M-
M\0P.GFN#)\PI7Y/?1"RV<.9@RIS[@ZF]2U+\&+D3&*<KXV7RR2V3_/>.^++V
MR3@/_AK/N4FS?@T!:N44;)*)?+>H3MOD%%:GTC"2(0G1^57$9='J XZEC,U[
MHCH<Z$)_CMV2TFP:RWZ'Q;6_<[O>B<!+[Z1Y154J;8D*HT4!, =<<J:@"TLL
MZI0=:<Y!W>Q"2;ZT2%<1# FU!AA."F:OEFN^NB9A<X/X*'P)=.9)T:-&1ZOF
M/85&\<7:Q.R7!4\D*G Y$UYG_-.Q0U)7RE)5CRTJE^@NY0RZI0F(C<'=^-%Y
M@WA'M"CO9!5Q^3\$\_D+*&J>B_1M KSQI[PHM7_]T>5'QZEBCP-,D'I+VK0Z
MTO[S[).+/2C;\E@@#MVTW>,A&FN]QR+)YX5:/>\X@9EB94XX8H(9Y\[-L:NH
MJ1=-(8!:_,X2)-$MY?SPH6-*,^&IXP?F/#SC8B\X:&0@,$?4<Q_)PFW(8'/R
M'T^?4&Z@+74NGV333VPFZ96X"73C$:8'IS8"3'Q-S]"-IAK:E-RP!#[%[%Y(
M*-<59>X=(^/YV64CO"WJ2O:ZU$BKUU6XR,O"QX]KY$A>!HK1"7$:LKN(^KBR
M_KL?^N2?SBW([7^I!N(X6J#?2$C^ :*[OO%#K>8H.*IL*="N#HKQXSXHG-&I
MB\Z]FR_.J,@>><!:#&/'S?2S7.P(1TX?@2L$Z$UGWE88+C;<Y$E*KR^W#%)=
M2B),_\@#M4;%;(_1\+9SL^GD5BT"&T<67S(";&M4^8Q$"K(!]""X-.IRJ(+0
M& \+,%PL@?5 _U= S^$TTBM[+X5#$$3 ^T^DDBEPB*,//9:DR9:@-O[7 _,W
M!QBWH^1\MS7*D>A\O('7);=&=UBALZ0'7Z!#N-<N,M :LU%32<99IB#:WO[V
M? R*)HT[08B.L9A@+ *(G Q-!,3N!.B8K'2M\=!%F4 $.H^ZQ'QCCT8?"4/0
MEG2H9<XFA1%PJN4X:U+-'VD?BX\<WN^U//B%LO^2O<$CJYS @B;/UR/V]<;/
MQ)]VDB_(Y) !$><X=LTX&W>FN<@L9_\ZDF>\N0-!I@Y%Z7VE[ZF<CKMT]GC2
MLPT%D=]2'HR]OZY%I)1<:X =M @[[^%_"<#.@!VI(S%V0E%M4$57M0IU,?5W
M@A+7%RQV+9I!GJI$-1#GT>_)^<.D'EW^*/\](^:%-Q):W?1A&[<:CG2\@$]%
M*L'I0J&3YQ==WF\1[X>!(9F"<DUFP(A]".DP%XW"4@G668!4WD3%#$T#GY \
M8NR8=92UD5<1A *;,O46-\BJH%/ +Y6W8#P#HEX7"[B*!H;@3,/B(+^=N)*B
M,T)*'Z,^,$]-1=4$2;YFNF(2>%/+7W[1 ]%RBWW'%'Q_Y>_-V3'2AS?Y+P&B
MW-:C(SV6GL(=5#"" [K*FY#X/'FLBR)L_-'Z$V<"_TRW(3P7WPF%2^(BH8/I
M'65,E&"O+_E\@X<F%886\=QO0')4K:-?)7.0)DZVS(JE/U,( C\G3'EP&0.'
M0W#W^AW6+IO_I96N:?5$ R8]*^&)*J:>3SWQ/R56F$^/WE@X]\)V]%X[?E/K
M/C(R@QJ[I7@,X6@EC;AH^.P7M]B/Z'@<?)_8#UGQVUO"V7LD>)!^RH0L3._\
MH-!.:AR$0. "GL'=LGLM1M&A6,]*K@&/55.(0]^'FW)74G ](LLT2J8J -5D
M/]HS."U\F4!14ILDY]SA'3G%:CZ,G@CVYLQZ.BEKL).0+2NQI7#7.J.HVVS:
MH/_+FM"PP0RXSZ[^6-C;0[<S:;=,23[P5^V2J[>N-17U93W]=%:75("73^)Z
M)GA'<C'(J:;&?09N]-0*;K9)1K<0==1=Y=7E>!%NW*'@3LAE1A0R&K($5JFQ
MJN!9UUIFFXR;O 1ANVE"S;N26BY\1YFPL^RFR0/+X_(@95!O,J^;@!PE0*G@
MD+VJI4=DBA2XP$XCD^:+MNV^RR[.?W1PB>2880-WLLS<\T46KD:$$!Z7C,/G
M,X?4.7I*Q"]14?1QJ'#WQ'DN>+GLG.LP2-+"I!O+):$FQ%!3"2<KT03FF)<N
MZ[5S<H;)/8D +8J5HJX2NL!*0.6&4(:BV7K)TY H-\XJE![8I\3.:&<%$$*/
MBPP1FK@;/A)W164YD_P3^,73)A6H V2T#BF>MEOP;"YJ3$1$W-J7N_O42GI&
M*-L/SA=X$.!K809 <AWT!3QFO53 2K!%L$'G!6.,HD='KXR]6#?MI'H@JB.0
MYV;3,[_W)EOI'=9 KOO=AC%?!&(<V;$TR1%:51&7#@A3KL2. KN?U67)Z,.V
M^,Q]J&0*08I]>W0G2=PL(F#-<@Q0P1K\;?/:1J0)N% Q9<+>TQLD8WRZO__X
MUI Q[ATR><0)4A_!X7S=)L\=\I]NU_:KK>W?L7B&?2$>>/E..]Z.0.P1;_.A
M3HX2^EQH&]ANP%?=@.0=&^DWZ(OJ8A^+TMJN]==:ZU\HC8-Z'60Z@!I KX 9
M1L3#BU^/MLO]]?3V''R[-'F%& &'D+1LWB:$+OD-M,MI4;HO\#^VJ_^%JP]^
MT(N:8MCW%*-_P#F*/T%$Z$DY_U[7.77]7:[6OV-_\&BYL55YA07//-E+#PX>
M$5Q\A]I50H3@^64@\%_"E3%X)T('<,7G$ \@OUS\:0SSP<G,*H'NZ6!9Z8,.
M:*"02]YX 8'O@.L.;OQN\BL62"1J,]_A>4R<.Q9ZR*3,<,)L5U$DW]CNU,R0
MS"03V$,!\V2GC7-,WHFX/<PEV\SZ2(QW!FL,Z\$$?5A0)4R!1&DY)G[:NH(E
MLZWX-=ROTL34YD!F$,>,1R^O9T37FA6$SLCKI*W3X8270("@Y)N8;&\[A&%=
M<\)$XD#*UMP3N ,Z+:YJ,X]U>.XJ-RN6WZBY=/RA[J1>^^C[BZ((=-K?@(EL
M@$<$>=W!S5W1%Q;9]%.&O7QX1I3IBN!+;59F.*AR&GB/\4!P$Z[)\@H9R*2N
MNE:+.I2)E3_8VY&N(?W*73Y"?^2?,)E3: X^1$[<6GRU\T(J:VW7,%_3F<M*
M3)]FYU3WI7Q.Z3X3?7 +=Z/<C,Q;H"XQ(NJ2;_G&1 CNLT(Z%N%YY$?>.TP4
M83<;J#K)0!6M=N>8!\&_'#[<^^'3CZS'YMER>D8M%C7F]"><&U9Z,85=^=R;
M5NK&MP3G2F_0Q</DUG>;V_E"??,/VL0T.<EF3K)K'UU96BZ [VP!+COT4J]P
M*K_<+5C.F+ZGYQU07R/>B_ 8+*!4A'(5G ;D@\IY*/V"6*BF+F[P)%8IXLRN
M9L(;0N<9W(V,2ELZZ<+6FZD?LZ99G:1^UG65^Y8Y[57!B\;G4-ZCW)DXJK#,
M^LKJ.3@ 5<601,3P3,_$C1,F\AG2V4MV>:EXK[YS-4= "2?N>* +ZHA3/'B<
M:2:JJU92L=B!.<5C5=753H"">O4$YQ"'?]"[(5,>I7&%@"-*,R,S_QR9(7!M
M8JKTCQ[.1JW$BOB"E?J];H10);Y># 7#*[)S@S>@=#PJJQ:OTA!GH+"^X"[\
MBZE>\)JP='NL?]FAF1=+R5G'=^/2NTQ_QTOA#1DS;VIJ.UQ3\^+%,VX0NX-E
MKZ:C5<P(L%#/J#@(IX<O<8()T^1YUH WFJ7),;J3-=PQ2P6IXW+A0LG:T-\J
M5X'OOR^F9UF3MYA _^ ^9V&B RI,1@;V[LJ)_U9OG[PHW&EM;\V-*M3HGBM,
MWR_)7Q2.L&E!!#S_G>J?+U3 '_W;'V'EYDYJW>>^R!7*5-H%D7%5!G$NG,-;
MG=52FVX7A><$0GNO-01JFB =)ZU/?%6< X8EXIQ[,LO HZ8TCKTR/)X%T'4S
M1^Y8QHJ(XR[X@>.IU#/SPL%$BD%7$:'A:44,<]3JA5H4M"NHC'>E' _<5;K<
M/V 9\"_O*9+1E"3>&3^R\POZ0\_!-<3ZOG C>9L +_[W,FO;O,9I"?8^06CX
M2G.NQ;RBEY.7WOSY=UFC;.^2/;6/O?G<W4<TT.'WB0:Z?;B!=TKW&YC;!$C\
M!SWM6XXB>%W!^7OXE#PA\-FH* 0:P&N3WGHTR0\/CMZ]>? C'O0QEF7/]V']
M2^40)B869CRQJ'GR'S67$_%WH+H=N4G@JKFDD_.]J$ NVFN5^(J<JRL:XR1Q
MM0(Z/9;4?\,WW2D,B-:RS+IJ>D;>$.X,CQ?IMQA,K*L+V_!L,V4PDK35AGMP
M2(NR:;%Z/!*!>WB&,2@!5WD<U!*\(WW2T#1$\#1N3 )/#5.*X-,B(#9;\X;[
MMS;$T,1L&G(3!/ $SU,FIA <@FDCKRIU[W[Y[21EV:-_LP"">20G%W\;L:4.
MVB X%C!9O<_<2+*;Z!791+<\BXS=.]N[(G<AB^6% +$;:+/;7A<GID^J67$*
MD1?&'8:YAIT*ILGLX0BC58MO/F1[N8ONEZZOWQ'NXY:N\Z$2".VA%IE3-/D.
MT_,,B.1YF9'&7=1/+?3LR7*]P"-<ZF<3ZL-S.YSL1O8E>66,%HG4J= T%>6
M6[J*?!?C"?3=D-N]K:>%Z9K#/[F&Y^?QTQ6:G]M$6HUI,UF(+R2\UR:+L#I_
MELO^\FS3[3/HN+9C1OW$K_?W:M>_M#MWHW+= 8<?%*-?D;NH7.@->^V([)7
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
MPZAM#'?Y.&Z1SG^V^&TRUMA>?2G6^?6(NOICB.$O!^^.8&V_/Z?OO3OMRHS
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
MKQ/H<P1K4[[;C C>2=[GU*E,//1"59\F].$T*>NICBS$3 *V*#%MO9]/7R"
MCG2%#I*![WS:R6D>O79Z4@^<'16'JY&)+6\7" /BUU!6$/P]7!EY."61D1<M
M(B&XBZ+ O J&0GIS'R2W'9(A#YX@59X2FDP#@K.T1!%2'H@'XNW0DF-C6L-S
MZ.'J?JMQ."-C]>!I=YBWEGO8F+ N$!"6M3P =0:U(-.8#$2J3(@?\1F%*Q-.
MSUH^M8.F<X=FD2V(H=]Q<(_UO"A25^Z5*7:#E&6FQ N@,)?P/GX@#O75WDTJ
M$#4?8#G(7LF43;%H+"6^#UQDY!R,)NY.R@2JA W4H^N7E 74PVU$,HE_2Z6:
M7-NS3(>]0*!>?)+6,7O:V0.N=%" E^O*'E'2IS@L IO ZSEO.1X.=*_51.>&
M*8OS#7A7KSIVD]?4FJ2/@=8IG%8\TI/ /17-4JBK4AHDJ0TB.H8(.Z7F)C^)
MT<E#KJEY$T_<II6\RBJB<NS/4(B(9DVCA48+&DIBPSQG6"=(S$"06/83L6?R
ME"BZX9ASV^U<M-B&;-5?ZP$35TI[532J3BTWGP:YE JJ&YV9X>]']#'>.9,1
MS*R])*; O!)MXG+4B-#&J*Q$RS'R_JW>'540-_:%-1,].^LHL0("(ITP7G!"
M? 3>%N^ <E@QJP7A,C5_S -0+%[6RV4,!;'BD%[T07C+NM4I&^3"PY>N)#VI
M"=)2?WEIP-% #/[NIO[T;SP1O( TPG2MQR,VJ$B%[[-RII^MKV#"G575W$G=
M^QQBVJJ2-L\WU _(EI#-/2^A,!/Z!'(_>C#38<)D&+-'/)4Y92>=;1^(!HUO
M;ELA1]9KJI$D)8Z,*W0V7-Z[,1GYQA'Q+EEE0_9! :T0EF%#V&>NK9RYP526
M<#TZ.5[CXQ5Q3?@&J-*(QAM;5 TG()-])/_J0.GR^8*EV^-N8J]2V)'T#0"8
MF%?)HEECU&\9D7KV&6*TG9V:3U C8D%IP.RA!&W]=2 Z./S &3B0@M->N7*6
M!2;]A:NE;07G#Y,#6*[5N\2C5TWA8^#Q8#O]S!FBQ7AZH.-#!;&93ABFO@CR
M#*WC9;B(PS(QG\ZZKJ0QV:3\:>=X3$/\$N4.4^_T=]-4"(O9!M4LS7ZM%2*>
M&JCJ.$P#1\I:>$EL=ZGI59"7EJ);;LZXV#L8LSC^47W102[4S'M#I+BAV0DY
MI2G_,S69T.QZ^H!%F56]OAB?51O*/"SENNXJK&G"U<H<)(A?9H*E&#]2-^ZD
MA,6@8F0[/:OKTGO'[$%I.W5&"I5X*N#@-*1A(CX>C:DF+KJ/=;IRK(9Z,D^,
M75KG2+>P&83W[!KT% +A=,9CM3!#5[0T HQ& P<UH;YA8"'VF^7C"S'!=+*8
MG'2FS\6*4K-L<!(=V@_,,\#CI='Z,HH/++7Q[;:H"V-ZGFU1%]]JJ=_ V:E)
M'XXK0X^7",?"Z2 T5F*5K^CA3S7R73M[H,7SLJI4YL53%8AG$D3=UJ3#X9.@
ML;"#4$8F!;)_H>.Y++(PNEZXE-'Y1"JVW).'>(W7.+A)9<@TP@.(G?$+8.P?
MQZ74=EXQ4QOFA(@#0Q8"]I0O<9*!F4J>9\TD:[(T.09I ,50%?!O<G!S)^I'
MVP.9.Y*O M]_7R!Y1-ZB-OH &KSU<2F2*S#K1^^NA 3+6KU]\J)PI[6]-1L+
M@HCERD#GE^0OLB8;%T14[1WS??<>*1;I%.XK@X/68*C(^V7+R+[&NA]UCJ:1
M4S\",L3T([/'!\0GT8AQPT<.YVI)= :[R8O.QZ[+%1+?(UDJ.'\)2]/X\*70
MFYLSHHC*/8'7U+R3N@?](16D;L<2@<C&&[)V+B<W4YQLN:Z]VX7K)@Z4M_I9
MS*0^JJV0;9!GZPB-BV@7CH;1V\!1'Y)!0,TR[]B(BJD/="9L,\\);U6YTXPK
M?I'S%#(EH"9Q'>BP! ?!AY)#I3K-.J;9">VZG*;4RHK.'LO=+*.0GY.(X.4W
MU#S^H3[EUR!Q=.><,L16:"2:+;IYRZV5L+V]6BES/??4IE/GAFX*SR3@.14
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
MFK]2$VK<I:= 84G[X=.KI'GY'1BH'EKF,ELUL%**0UC42\$3*+:/RBD8 2&
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
M"IG@S)Z3F#@"N$?LZCYU28/MQS,3/GKK[_H=K9':$3%774#<=]Q3=;#'8I*
M&L+T(UP(O?)U8%1&3=DO>EQ>U.!@06NZ=/E!&7=0Q!VCPIJL^0VP2?^*K\T%
M4Q/,_IFX3I<P9?Y#G_$6]UDN2,&ME,'Z"\T/DN*!\4>*?%<A]V-WA\Z23B31
M!8G(<20526_%:TGAJP^'1N+FB&Z]GTGM4TU=>4GTJ0.V"%^S%T%Q=P]N/#P(
M70I>@782X^.@&M3Q+D:=%\&ZVI'AX%@*6,Q^Q:@QSS,2^,(\:?'LTJ"1*(70
M3_&H*D\IG"H$J]"RKT_T,[&P5Y$;.-VNO,(J]'GMV@B2ET8FG@<VJ/-#8RE*
MFH+8,(,GUW_0$9.\,OEEZ!=(POP/F<\X'N(Z3@35\KV:/N+ >@;=B-Y*:]XB
M'#V!B&W%:&;DXH04]\'80=*@<.L\P"QHM.+R@F?6?!B56W'=)%S2Z&D9JY<K
M/QIN$3X:G134%%B&830F#O"8XD0.W5N-T'P)NSW+/,[-+%?#*H;B< -:9,C>
M!7 WC@'4Z^5XM:3_3FG,J!R%6L HY(T%Y *7*O5XF>'D8R (JOWH%%8SXISN
MUQ('E Q]8^T9C9R[F][:6 '(GV2N[&\>9H<!/B> P@:N_G_VOOR[<2-)\U_!
M\_1A[T)LWD=YI]^3Z_#4C%U54RJ/7_\T#R23$EP@P,8AE?JOWSCR @A2)"7Q
M4N[;<=LB"61F1$9&1GSQ!84UYY*40)I^R8A6L?,D&[2R& JQ_/&E6I:UV:"S
M=+%4;)A@314@1C6*LUHXRBTV"7\J>4OG<I'EUI8.TSW93].;L(QRL^@<=U*+
M>I=$6=6&=T4/K?LI'RZ$VI:*I"_$>"(1=AK'B_XAV0;Z;P[F1[AUT43D:DJ9
M>H]:'&N'2XBPLA!Z'QB42\WX=)R!<24Z$0V[R<0Q%0VL#3BI@TJH9F4UD!I)
MBE??<8T"U#+$RC^>W$_4,ZP 2,3\9P(ITVSW08W3CG'+6%HDI"LT+R-^V+&V
M;M</*&.M7,>B5N,D M!ZN,*ME2*2JHXGQ%'.[2C((L%F&II!ENU;^$_>0-:)
M7 K?D$;IW#9=5>6U@< +ZO@3S/HQ15R) G)7)X<T4%D"KKK@".92]V4#C%S=
MO]HB4JQ=/%-BI,2G^]Q3>$3#ULIT51045Y!+J^V(YN0Q&0*CHIR^LEI.$IWP
M9A:]'F;PF%/&/^UCYLA/?Q5PE=H_*R*%4:VRESX2ETH]TJV@[JSNBD]_TX!X
MG01\TFC,B\2-#,\?-W(L_AP&4ZQ[H4P5,NR0:+Q2Q36>!@L$'.ND',7%IK>X
M^; B524JZ]*-.J9CA<27LI2YK.FW,K\?-PJ2:W.M[H6,+[13/95&Z'9'M(?;
MGY7!RC*LM-8E4+CY_&:I?=>L/+":0X5:C+&A>ZP=8Q?CJQ#824!3U90D:&'B
M574^AW9R24-]6VK#A?!K?2*6J[G+^5]U-[^5N$?T "^0_6JC!5R16JNUPLOH
M\CJCK!&CJH6F9[=6D0[4;: Q#*I!UR9AW%]7 >AK$H@U K<BOYL$*Y4CN=HM
ML8./I4;9.C9!<4Y9[!V,%<_V4C2/%<(.Z#WFI2H4@M<,L(P7<M'E(W43=")@
M-6>Z85RJ*KV_I.Y6L<<*U\XX#HBT>LPVM>K]=0$P:.>$:;]+:DNJAZGZFE(+
M]-]K-+I>AS<IE#B"X.=9.J0?;9]<Y1:L!N:,EZK)OE/>7F[>L)R\UXP.UJED
MOKDV9(@JHJ2$2B1"&6:O+4M^.0PK[Y?KG4Q9=%H.G)1Z@LPQP2'J5TJ%\+%Y
M9(KR-@0#-0*W(V(+[L9@X!HS*H"0Z5]+PN54OMIWN> J>1HVFD,N),$4#Y^L
ML'0E-)=="A6FJX$-]7I%. S)51$P#.4^*6PV!1,TH_X"AJ2D5JW]M>NT3,-
M!6GQ;F/GB(MD\)6U[:HQY-(YD7N427P_6S4VB7!>/4-VR;9:;/T:OER:@P/\
MZ^7)[,.,6]:AIH=-?>2A4FJ[:@M8I&FE"K<2;UJ%Z:N*B;'.4OO167YA@^!N
MP\"[@SU_D<PNYN#*((<%IU!4K!"WFL%.K[H8*#!0,IME<$:/T?LQRTX-<4O7
MCG+?U8HY,<O&EC/3$"=5P,BE+E;PFF#A&4),U\18Y5^_BA5U@YE$C:\O?BUY
MV+5W!@N(I:+9M#OQOU'-;489^Q(@CR%* !+ DMF=-)D-$[BMAOUF$L:&+BDV
M!DDE7E;BN[0LY%I7^MKJD',8T1R5JU\[Q;)!([%(NUQ*KOFFB@(G8Z:"_6W*
ML-RER+P>Y>]+>#^S@6D?E<X(LCH42+(L>^4'ZXQ-78)1 915;G:#9*=+1Y;0
MI(S5M<2:V4D=S*@0[D5N#9V4*4>XL4?@6J@1NW;RZB=3!%6WF_YJ?E!M*.HE
MJ7R/%%"8*VM%)0-+SRO.TQ7\79^)>K_;*UXGF"671+9 Y,A#R>;BOE?,H4NJ
MH3T\Q"S /I*0=:;A>6-Z<Z^X2W,"51HK$S:6P6)4K[*"E')(M5QM:Y%M9>VQ
M5T.JCP;MZ)^%.3Q]9A>5%M4<$*(DIGQT5 CMRIX4K]0]]YDETVFZGE<-=QE4
M3V:)SXQ5('M%@U!F4UNA!F4K2>X'A\XSV9S5U+@\F#;VJ34O$I5,2HVCC)^E
ML37X.785UIT*:P;G*YRAC%E,54ESJ145_"MM(-**):3+ S9'^WTLDI0ON!*\
MMZYBJ]0$1^?Y2AI:&@"58FG +%VL%N!.AA2B48W(RNZ-.?B+V!1 \VFHF^@N
M%_H7L63>S64S^S58GY++BI"]-)%;G"HFM=]JH>@>5 $-0R<G CO"^DN/+D=3
MZK8A!3@I!3HC+\?.#M8VGUSEN%M!6B5/?.)UHIJP9EOU:'U,?U:[SZIJ,EK3
MLU454"RW&7U0I94[C]^H?XDD:"CA4[%7\G4L&[0M%M0^!ZDUN2@++>&72I=4
MSF,OU2MMV!HUE8V(ED+J1O[K&YH^NE/I"F5Q"4D[(3DZ_X3DT3C:'TWV2(59
M9:9(A0U,R%O3+=Z$"]T1*$3F)-E?9XG8SD(.A+&IRI5A&14JE$'83)3?X%=#
M%*JT2S4G1# (>F@60D 3)BG74/MSN$.Q&>19.M_O+4]-+T&IR1.&S24?0:D-
M9YE:567%> 772[M4#H^ 8Y)/D5MTU7:A^#)WMK],<\UQOJQ(*5M3UUG>8-S+
MJD>34J12<'-&@IDU";02TQ0]))9^GVPPA8,QM7X<!S+:6EX;S2]ENU%UC#;5
M<G6)?",@E@ZR<8BQR!AW5PF_C8LPFBZ/H&8OTH)8.;<P->>\?>/Q\4+%Q;AS
MFW*;!E5.+5(FU#>E@"R',=PU9F&N: ;"U9GJLH\OVYW)I=<!+FMYE-MBNOPJ
MG%M@BH"7(H[UM=!6XDZ]T4+[:\M4(A"N6>,B4^Z[C*\9*C2F]]&%!;45JH2Y
MMUESBTKF='.#N=D676U!3<F HH@M&8^5]K/L BU?>UY2EK)$]UJU@;"L.0(Z
M92L@_?<PGJ6!U05T8<)82Z<I56<8KG@IMTP8#@*U-UYVFP>YY\GKY]1P51H&
M6FTO^.4\^!=\^7<Q]JYL6$/UA+E_^(0CVTE18S8&-:96G[RZS<-2GX8OC--]
M\&65^+;Z O$NF\8"*ER5%#E"T4WV$],1D:\" 3)]5>59P?C&$JG#VA[/E02!
M#C15R!66NCH8]$6=P#!9(!G4X=HH)*MG:1,%R!VHIH<VK 1_PT(H,K.&^Q /
M#NSQQ8TI2RSP=M?P>7C-)59%NEJC? E-Y915W><H9P8,/"18"M$PIGNYH[UI
MN*G&9<5"[<;! 86[!!V#+$7+*Z<&15/)$$=Y;8HO!/*;,L9-6G!A_:G(D;V
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
M'RXSDTE"$<OHWDYMPT_(0#(CML#Z:C@X2&.IS$SME$F0I@2,P\YD">N#Z9Y
M-N%6=^]>8>]*#+GP;M G?B^\" [;?^&=ZT/"A<_$:H.ET/A%3 _$)D56\VC\
M8J6A/ *LBXEL%H@[@9]B;UL*D.>F-WWI)SEW>L]U6;.*\ENP!<ECLV)0\B&R
M[.A<0Y5+&4V5-C'PQ;IVG\B68T?ZS667@]?S1-ZRQ["J4V8 6$J>+V'=5I1#
MUY9DK4BT+S4;>4&XJ3J.C;4\0=@*-YM5"I$E#?GXWFI;54?>Q[65FNW(JF%E
MFB-V14J/2>)Q(A,O)=*9).8BFJJF@5>RNG^R3-93Q\-IM8*NC'Q>TF"[22W[
M1QFQD%*2ABOT&$S$2BH9I*NT(E86DOE%928V$TQ8'E$>-I7M-\S@F("2D<T&
MM6OJN*>5"L?*5[V[<O*H7/9=+OJN+7/9E(A&E__1**@B5_$ZP151]F+3+)\J
MW,0)K5EYH>JS3!4" XY6W')_J3D<CJI8< TC&:>[L62=<!B6NXKCNU!Y7_:X
ML1E<G45CP)=*)AIVIVJ*?;=GKP$-K>ZH5#%Z%A9W<V)6N\6JM6#G:/I^%^5<
M@0VL-D>2@EGSH40T?:HI>JYZF')EOBG(PV75$8O-FGQ7BPO*[$0E@\1(1M6-
MKC0%"IM*QAQ^'PW;LQLSDT=CN$VLI*RA[JBM.56_T3%2"T2BO3 L3; 60,Y8
MG>AW%I:<$.=3)E>QX1[@*1/'(4$-Y?""5,$L=+-JXKJ00@ED RE.-?N<$5&]
MGP-9Y$IF/4/JN W$O+(UR!*6WB(>DG?JC>D#:\G4QK#LL#DN)M0;>-DRV'WD
M;BSHA+W<ZQFC27:*L$.Y;B6L<@6I8I_:M>#'ZB'.21OK+7,A\OJ?<D!?V>QD
M^=RUW, [$7P5L2TF'&R-D5P6,J-1*D*V(;:*M^JKL!G&;)H7S:9' 0W#_J)2
M#^:>S0<17@ZHRD+N&E6QIAE*RH(HT>0]Z!KK%:81V\,IT:$;8AWC*>CCW6$O
MZ!AX9_P 6.E<^39XO:; )L9 =28UQ1^J1:J'[]H/P=\A8I#:8YLR:'7%T&;Q
MQ34*K"W7P,)$J@A$0"%:+O2#%O>TYKSY"&F88=573HUT_?*?Y-(KWQ",\XP)
MB;33)0,L2RW\R%%4G=!]^V*C*\4TR"S;1E7*':?('UBNQ-K^H%G_;KLJ<V,U
MK&?O7*7-<B/ XH-+FPN5C[4K]UB?"UD95[](=X)3H 9 7>;RQ>UU%Z\J6ER_
M;SR[(':>Q#@J95 WDMVJ@A".H99BIU9]YR^A"N%BZ*] W;76D0\C*K_8U,R,
MA60I\YG'%5E1BKDZV<!=HBB&O'":(*Y=HUB. ;/=HD B;@E9XR#Y,:QP7MW(
MDK1R9&)B7)*HI<E]0-PJE=@X;2Y)ID;BW7#ZJC)62.[5J9A1=)2N1QC]E'@!
M.4]*W1043,_S8/)5I4F(8EBY7/+E%=SU^AU<%TA=JF92, :[>$]B4&8*@4J]
M4["N!ES<!>^F0'N>M6-@\V%=58DP6/B/T:>UU5N.FV(#O$'+X0WV65XK[4!6
MU!7(SC@M(:ZY^@JW&N=(.$\1UAU;JUM4+Y$E:@2US*]439]]6> 2L?-TV&PO
M9F68&(UBU=RM/ONE44(33&[5$C5"Z;)KHQ,8ZX^.G:Z1-H"%S">%H:0_(R2H
M;A"/"JK>NXM7C<>*V^)L+$\IJ0_:&"]+15(I72]#Q.;G=]K!X2L^!4DH?T=(
M0Y4<D>RK<'I6,]7+SI5F<RKO!F)TXZG*,"0WF5B22?C@H1??*SP>^<W*J?%E
M)40DXPW@)1NRP\VW$D'/2W=>[/.:8B;.  H-XRMO.UTZ7;_Q?#@=\URF2"6P
M(M6) O9.[A7Q"-5YEA]+L )9@<*+6\2SX#9)Z9375P>KV(2;IZ7Z^"]4W%GA
MO5?6]VF6# 8'8LE'PWMK$6C)M=>LR+HDU;B7LDN53$1,58"!AJRASO28<B>
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
M',L<UP-PE@>N6DC)Y!I%C_CB5UZQ3#=7>*##(0B66MUQ=[A8&W)M\M4!\;9
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
MKC%P0+_%[/=)M-%]GM7J;[1:*WL./V+B1]=#\Y +?"46N5SAIEOAYUCA_RS
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
M.[5X2;DE6E?BJJKVM& #BA=3>2NM9^"U;RO2:$2PEI&GPK8-[Y)D=,MW#.J
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
MQ^K3LX%7N=WB=LMF*S/P.\T=ZT6/=;?L#Q<F9?;W_S=.__;WE? ?N=[==F.
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
M+ VR/"TFN$G4+.LL50!+/2TF:LD"/2K9@;MJ:0+80.:%=TGZ%5X*:Z46%->
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
MN0VG_",>^L/)Z6-%2&R9KOZ$4T=6!$(S?/^3B,4LS+U9FLQ_D%EL[TOPS;!
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
M ("_O 60W)$>['+%\QO;/OY<,<R%#(BW> BH+A"-_-.K:*'B!N ,G\(_^_
MBIB"RP( D\S^E&@-+)F!,![<T2PO!%P HB:/*7Z%(A@D ?R7/1>!1,BD&SK
MUNPHO%BC=EB[;M8.XBB73H&7^SY-N7)C:+*DJ[HJ5]M@[QS?R>R-@+ *X5N)
MW-RD] ;>+/FD1_ ^@J/]ICG6D2$!S'OP_B/IM!:4*$0D"K@+5]P1P#L%D0//
MUY<8&9>VA32G8<;A@9^</P!14NDZ!92CV(6-[2A5+LF4GY/T!X*_$$H[>NBY
MK#B'OMF]&DKW!1""0C(S*C6](ZND4IEQ)TF!L(!9I_^\IFF)3'^CYAU)U[>T
MHM)2$QM?[QY(MJ;?D$L(@%OSN3E<.4GO YHO1/,@0% GJ#?'VH("5Z-V Y*+
M^'&/,WBQ*<9,A:(%[^(2[88I4R!:0 WD0D8J%<7BD=.' <GP-@Q@WUE<O+I]
MP*F"12GV,O%K$@1@=>49TTH %*A1-$"8QJ#=2/Y#0T",,M#[2E$[I@MS&=N&
M14@CFB(!5'KDPJ@$'2IF2EL211F@PG^8/&R=V(L 9?L? ]I4=#$)S-?)"CBD
M(WBF'+58G*3\M#_L)0^45E^_$"%7ZU\?D5-2IN_OI=KQN3 4HGA N&W0NNP;
M/)'?ILGHYI;+CW$-H:$=?,:2XUY,T?JX!<&&"]*?8"!Q,I\AA>29&DKYX^FO
MA#4+JP>ES#W(4U2-LE$4Q4&,:P$S]"G-IS(;7YO_G5$XH!QL"F"D&NG,6(-C
MH F;%\+Q9RYI.A@U@_PVFV: %#@L &WJ1XX%R!@F7'*]9GP* N:/^SC,;POW
M2?/!@I#4^A'B9TEOE,]^I$%A:&71=$OT9'AM<#3_O$W+W0Q!E"H^2*$?"HE@
MLZ])[YX\9 >_M]D*.&@,AK..W^:WXNQO_N6GL.*4_>RQR52:BDN++?;.QMGM
M;1_]47.)>P J#FYQ+9,$(46>ED"?@/<]2!%(BJ3M1"I-JA!^D?X ,0$W'QWF
MI>F!0B-+HOP>-#F)<2#*.%#N;@EH+5GIEAB,4'.KS+#:6T7"9,CT&90T\' O
M_L7UF^EJ!%[T X /_KH6F?5R^*X\[C.AQWZ2%WI4SC2+/$W"45"NCPL%V/DA
M&@W8A\RK@MXZ]BMNC4WH,3-?P<4X8)H5%\'+0,,,OQ/FT@$)B6_C('QLD5K.
MPQ:"-,DR?N>D-V10@(=+?78H[J8KCGAR^<_9J:)YH/$  ?;C %&+7]2>.%#0
M\3"43Y+F.I8_RH!^,A#59X"),"STQ])'5B!QB/*=B4X:LO/Q7?3)0^5]XO3&
M?E/^(DV1$OAI$"0!HT$I*<^)SR)L<AK<#H W;O":@F\+6-4P9$I; OI:=8(\
M">'="1JX.:S9X[11>OSA-._0Y4;3/B"9V[E_)B1EWH!3^#VC=3@AO&,$*Z?
M7!RF*1V.4J#@C)'X:(BO_@W'WZF5/0*?9[= \UF)M),> 3P=HU4#UQXP>Q+\
M* R#N,\U>_@O\R>$[-WP+M1:V0-QGE/*%7Q.T@R=*7P6EOL$Y3B10KC=:[34
MVPREW\PCO;FYF5L: 5VD[)2EU&L*IYG1EDU)K2L$*@CG"@'3=KFIS7Q(DYN4
M](&.4,,IV +D:#P E:=?VF$W0%*ENYW11)-^AGP)&3Z+$.Z)=)'D%)0C^;E/
M-O->G %XI([;I ?4D?T7<R7F#]N$_8IVU [J(Z"YOT.GXB*1LDKEV+Y^<<VB
M#3W8.?,U%OX!FC%!7_D4N;L4+01V@\"KDA"U@A!#/2"W#MG-D8Q@)V'VZO6"
M2+?&D,X#YGP/E860 BFC%.N1849?EW_Y(XRS88\\O(X'[$SLH2GI[84B[7E'
MEJVA+ETDU1?+%VKV$5.SQT+6_#O'/3),;>;7ZM&JWUF&N=*3\S;K'IGF:JMN
M9Z_.HJM.2< H"6"0#.CROWRDP&+).HKM-@B?EG8QYTPS$U.\18[/C>[M &!"
M]#( ?,'8R-M6;$0R-'DR2T.@>U8N$Q>R3 8/<[3_XE J3[)3M(#!BT62MQ8Y
M\ L#G.8M +AG%;H=;E'B+5S5QM2E(M6'F8;3_+<KY1<^4HGYV',+T^K4A,/-
MB<'']58&Z]^6+<M<_/Q;RCY<\."F*^O>BE.'EY%7VZPJ%K3\,FC9<&777;9B
M:;NTO.$;L#-UW4^X 0]'&?,TORI<Q6NX"_<TUWY!MM%,6[8TT8VVXV@Z=#W9
M=9;HSO;L&!+J^T+"JY!71:[(\ZON"_%!!YNH+,H'CBH;ENA"U&4,R;JS1&/F
M9T>0T+(>$U15DN1AF8OY:F[VZW.H68\]5ZCH1;3'  H)DQ$&=TH(O5@[;OT
MZK: T713-BU]-8UU?5#:LKXK^$7PRX(7LN7*NK7$U*B.L\H:[O,5:ZSUC:9:
MK)(U\J'A*KFL@@7'DQ;''F7C%T6 L-^'H@209;M5IV?:2SS@:2=Q4;.'N1\\
MXZZJUJOS(5'W208#RM-"67UV#J],T9BK$E:39G;KM+S0L@::[VR4\<1 G@(S
M,QD?<\4P-0:^RW +O:K\NY%KGQ6IGG$:*ECW@E6.&2_,&Z5%^50V&@Z3E"??
MA[07 Z,]S,[.W=42E;F$\:Y(,5J@X'&A2!NK,_K-=!LU:+P"#']6D=& 5N._
M6<F:Y1Z9=84;"1%(_!VXMQL23Q1N3=8@\95<Y\BI5P*AIG!2O@6$<.+ZS7:/
M[+I CI57#9H*?E% U3A=EM$BK;E9>89KN4=>73^*J5T3;ZSK7(H\57QN1D$7
MK[K"=76O3IJ5,=T\I4%,JHQOT@>R+5.^.5VSI^PCMWZ*):XJ/LMSQ:)!"I!B
M#Q0U5^R1UGLFEF[)B![;+[N2E"12D,\+R.!"1@WW A*KP!2I!VOZL5HVS]/8
M'_'L-,R QLU65-)>FE4'-M>947$W6=K6*!^<7H7XFUVC>+S0KU7@5C2!X"4
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
M1CZ[?"GO4->X;FD'0$DS3-D]Q]YC<,-C.F2%E,LI@?7= LI<$)SS\HR63ZP
M1RV(\ MLL]<O 323:D\I,"18M\@O<*,QY0AD0S@*"MVYD@](F*40H&'-4C.6
MYER=W3(]UZ=C'%6R$] W4'0V0MEXP]_>)P^E-5$I<TQV%"NPYW&.]%T<XI4[
MZ_V-5\2,Q1_8$<I]%[;.C(<+KW]&&S NI5,APA$X,SL%R^CUY\5J7&"V>QJ6
MF"K[+S+=\]%%N7MS^KJST+.SDF'N?8RHRQNM5>#B#;BC'NR'H"PXI03DZ70,
M8RD?D4J7F<2T=-)+!GA=]7J%J0Q/P)4; Y?\3VE4Q)6ER]X0%MS##8&9J[!J
M1=S,(TS#R#Q_&*(A 63+JK'Z5:896W?>*YI,,96%&ZUBLQQO\LI)SB[!A/>*
MF/*@_] 0+HR XS08]7$W[&8_&Q3<$@^*SWA9V6+@X7I-4MAG14L]_(KY_OWO
MO+4#5L^3'_A1J3XT])&*H4+:3VY2,H2[M!ELB8!0DA2M*5JVWXY_8C^H\M4I
M\P=@&PD "G>ML#TW]#>)H(U9. ?X91TF+ !5] SBNL( Q5<$QE\F,<L-66=6
MU=P3C(*U<]Z*)@"/YTW^N2U3=%:[C+I[RU6I0)\VNK><8'GN/HK*JUF]:IH]
M3XM@)I8O@WW0X\S/JH9;?3XG^\\7BTI [P%W4!2U\+RC+[ _?,1:?$XS6S[3
M1EN=:A-SNNL@@PT +@FZS8I2[ZI@.VNX&$9#$ )AX2:D@UN425478MP;_1GS
M>O!I^SI9K-</?EJT.45K*RN=?RA;67=3Q(;4![4F"9E<0P.K].JQ>SX:]:1>
M'!6=8]&#Q9*)&60*V5+;;_=@Z&2W\7"\O[^,<J9(7&A]S$1]V9<Y+BRPVN>&
M[@OFP[I/I!^@'=5NVJ:5- T4165PTV3A PBXN&]<*73RE U2J'RXTQXLO:UP
M"K^UCUVM47_,PU#=EF'A%V^0!(<?*CA#[.:48G.#1N?L:7S6NE5]0&Z%X#FH
M*9?"1EN<WIMX9P&RZN9E79_YO0KW)-)!5C:.0N.]P2]UZ@4-;@< T9L'(%H,
M/M(LH*@#\4;?>8P-%Y W6N3"M9"*Z>$P$=.+I_#[D?1G\]@ *%2]?J(3GC**
M;1RP].@T#G@?@RBI/0I@>J- @O\A9-GM+J&MU!_UQSBVW!-W/#1VQE89]DB
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
M6MLO;?43:=2K2N2&N?<;#\YX>=F$).:W=5G^4V^ EP U5XJ9&EO4TG&3(P9
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
MUQ94% 59"Q9DK:S[B/#%>KF^#BHZ)G%]TW<40ER<+J\&BF=;@0+2WW4-SXX
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
M^]_!EWJ'W_CC/_RGR=8_OS1>-=.?'OQUSVS!J/(O;?J59:][VG^S(+[\A8^
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
M![OG0>7OZF>]_/RV??;AT>_U=_&]SQ'WO__?]WN?]_[XY7G]^<-7@WWQZB)
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
M!D1>9G%([K[.'R1P=QK<#UR-L(I:(X+Y*F&^6+W,?$BL)&"&M0&Y54^T=MO
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
M:\4^$*9AL#^QR06[;)[]>S"G\W+J'QZ'.TC"3;,_9_4I7(RK')M3S Z!U_#
M-<-9O=-1'-_1>U8^/)-:PIK5[A;+<!@0>,)FC?K)__*S+)O9A%W^5$X-F<Q-
M:UQ;W:1V CLQYU%SSW=?[YBOEO:%_2Z-=K(\W_AUL!-N_.ZJQX;!#J7%5SWV
MZN^2>/-+G\Q@$_I%CUWK8@WS9]U.NI$KM95=&S?/6H:_@[RBW=>O7QW]MG\T
M'NT?OMA9VL5/FC(OC@[? F7V=H]?[HW>'L,_!R\/C]^.CEZ-7NR^_9_1J]^.
M_GP[VE*LE_Q>3D?SLVH!CY#-OS939NG4#JDY2]8;5#?(XGKPEUX3Y_E:OKE5
M3LB_R%I9KV5VFR'YDDE95KZ;::UG\/>*U:.74\0?V5-"G7-5C^)P/)CGDUG$
MGM/C2RL[[_?J8M#G5F;[)1FGCX5DV.=D2[*;D2R_B<!X0.G$ZR?\=C&;312"
MF+')"(PU,:F:16V08$TZNYY4%Z-R:GU/8(1_5?[Z=64&WY8-_J7Y4T]QA(\]
M.06=EZ,9 QH AP*?@CA1S4J;PIO,]G$ZXA^E*_U'UO_O.]9Z#;QVJ+9%;C?R
MDA^_[\.>!5FLPS3GA&4L)C1+"\)8EI(XC/-0,$7#/'_V/!SGX6JCQ0??=64K
MBAZI*/IQK2.WHN@;15&'MY8$6J1Y6! %*T= \#!2I#0A<1&)6$>4QG'X:#O*
M;T71HQ1%M]X"<RMOODW>](#=:)1&:2A2PD$O);00C.0ABT#R)#$O<I7&'$L<
MPFVW^[LS(45UKD9S]NDKX:J?0B76+1A>RR(&J7Z,1$<ILQ4Q-Q(QHF]=90E+
M8AES$FCLK2NE(CPK*,EI*G-=Q$KG\;/G^3>;5MM"R7N\/6^YG^5V>W[C]NPL
MCIC)C&K-2, 86!Q!(@G+,TGB0 0Y%CL%*:+[T.W^?+S[\SMHZ-O]^2W[LZ>A
M![H0>1(+D@02-'2::L(B.$BES"67G'*!'H'\MD!#MP7(-U70V3E,9=Z@HCY9
M2--X9C0_4Z-ST[92^4;V$P._/"D9+R<&CWQP0S53-9LCB%(;Y-SVN;\/898C
MOS"_X?KY]EI;@783@?9WK\_]YW?)P>E)4N1Q%$4Y$6F<@TV0<<(C)DFH8ID&
M29HD06+<G,5]<CQLNV??.[-@NX]_\#Z^'.SC.$BC,(AC4L0Q*"=!5) B"W.B
M<J&2G 8Y*)%@/(R#X+8J.;?[^ ?M8]>8=.OF_5X$?H._DTJ3!>B%K&D4Z) 5
MGS.XT*B$R@$9&R6STP]7],BM4_@>J(EF,8_TNT;MXDH>N77<GWHXZE=5/3R"
M?G,K>+D]@VYT!KU<UB6S6/"0QYH(F46$JB(D7&629&E1!$E14)FH9\_3<4I7
MNZ5O75B/9[/_.%URN]E_X&8?*IP)C>-42[ 4A03#D6M!F%0%844>9 &E6@F#
MU30N\OL$R;?=[=]-X[Q]O^5-Z@T?)B3]8WK&XS$3UM?#'%93XQ(NIQ]58RP
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
M9BF,L%K,95N6;3,(;]TL76HVU"[$>D&UE4PWD4R7/;,SUAG8DVE&(HUZ6):
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
ML/=A(8(T3<,LE3'7>4B?C/+H. R;D*,[U.RNQW@8_ZG:4O7V)#.ZW:#K="_
MBC*D6?!&U&6' 0<BQJA*>$^U4D[X!QXJ_\>7VC<MM("85 M);"GD.DP;OP9#
M2+3%K"?HO,)85R8A=08C+\WC_+OP>)IZ)<WU&S?PWXT3;7WQ>:&<%]CZ@ U4
MGJD@_.1*2JP=C6YV_P)W8F-2;3F%NX031R[U4A@<-(N9]Q$(B-@%_9(9'+1_
MU'K\-=AMUO.O7:&X-"A 8CYN?QL@I5A)VV;XNN&,/7KZ\"1H%*H@\S8KUVH:
M'!B57;D&;>OXR]&<?<*2&]LTW6.VMXS3GQ-RC3+MV"WZ03EWZO(I*M-3!]O(
M%D#@NK1(,7!@H)I=C0XK&&28W#<DU3<]W>_(%%'L=\B2=PH1ZCT^P"/L]+16
MIT;%,*DQLKJ8VG8*=O!<S2^4FB[MW/'*MNT B-V=#]8\N>$JOT#"O/6$>:!S
MONX4<'' H=BW:1H]:>^ %%L)7@TE-D*&#B[7RD')2H5&F=WOQD_L[60<IH^M
MMB_^1VM1H!1XN_+$]>^W^1YF'@XY$\0:,9GX^(L!GER:0-N%NF=%KAQ%EO/;
MYP&--SYO AMMLOH$2YF.K@Z+PY3UU+@.C2?' GBAGEP.8-Y$)5L2]?8GC&IL
M1'J-EA^6; Q ,@?KX/>Z=5M@2?KU()G^[+  GEP!*T^=B=DZ?MKZ H^C4SKT
MV@Y5UTW,3][Z5CPFZ)I%'(R[R\H:S2]GV),&SPX;8#<GS948)6&"ED862%K
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
MH$?'!R=Q%O-8I0E)LSPF5"<1[!N6DCA-(YT+Q3(=/'NN04-P7.-[/OM"F)5
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
MGN&M:BI2VK=,6[&4OB6VYTO/@')=X^NG2-X]FO<C^7TRS)[ K$E2?FL N-
MM=*7*TQ\U4&E%[_G0Y[PK.D;V!RTK=9XG[_T\G>HH-U^K]LB?6EZ)-/7R$)2
MKBWM2[)25(8V@^6\NT%.>1V?BP2KOA07=Q9+N8%.6:)Y(X5RB2V&H>JGD-\K
MCZ]G*\ %'*XG#I!FWL9G/JWEBG)7::@U'(W/S/&",:RBU/*518Y*IF2A[<*7
M[J@W7<N,55.=J1MPP;5G6GG,7VA4-=Z:OE#]&K-&$8-^X]J+7F+F/TP?!W?,
MEJ]Q<;-QR#Q-_*KSJ;3%*>UYFNF#U<9"S/J[C1:_*,WGY=S(?S[P>O8OG^_9
MG<WYKK_EK QUF^M<:7"UG$5&^^ .]*;:TW&P7/VR1"6XFZ,XQ 3%7ZCF--IA
M[V3N-<RZ,Q7'(PR*QU#E3R[HQ]%=U,2'\"QNE@LH(:((&,O(;.12<$FE4\3Q
MD+A53F%)[1Z$F"N7NRR%U5L_@"&^V-=@X%0MM/=<W&'Q/D3&)2.90<+*I!.!
M0)AK[8DP.,:]];SF>8<%Y1^JFH?%S97?<K^O.!I! .1@K?+LK<]F?AN^Z3<
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
M>-E9SVY.KK>:'OJNC^YEXWO4[Z:NK__>L]VC417=.]LKAXYJ,#PSM'IS) _
MEC_,1UG./ %25@>:!N6:21_^,.A5T>I%W[E:OVGIOA"F8>RHT66RB;O-D]EU
MH7TY,N_]8%@=E9H=9LM;\;,39E-&EX[],HS%,7PU>V8Y/U['R,-R.#!\S8\*
M'3L<Y^&6XU:@E+!>7S*)3:<PE<Q.;E8%09GF9I2]SLZ46&M&MC,!SRA_D%^Q
ME+L-CHY Y_WT0-8P%D/2.;+ED-G8C@ZK(RK[L7?<\37WPB@???R6OZT[+.4C
M"?S> :S9LRPHV)[F,FJ,S$)2G[#-M#PP[9/1](BD;7BR1Q%D/I_7"ZN=?$M]
M"&YU=GBQ]I3.GF+,GT^.LA"#K2^U#,,<[]IQ/>%Y5_:H!!G)PJ]?;6]2;IH*
M6',,.1@!\8I5,<ATE//[BHQ=<3BS0ZTPHW;*>C" WPYC(>$LZ@1_.YB$+U6\
MDY\T'>T"'%3,"ODP;.WRY\'8QJS!TGZ94B#ES2H[+"5SY<=^-S]L]MQ\>YJ4
MB'"Z[5"=0)X>+5PM!PLK?*@&DC\O0YCO=GE[4AWDS)_!K-E,'@5_.3KN3([+
M)_=^+N^CWX]AT@.7^@*/>_3;2>.WEWU*;V<O)$>U3!3<::L0%S$B8P5#D85(
M6+**"G[VL%OFDL4Z)>R#Y)P1;;''F+E$)-%2GSNEE]4><*U7JMLZ%?\7*$+>
M09V>'<Y'77MS0#\>=LL!\.E1^,XOY53P8 +H$T:_%A3X%O-&1WTF>*;(DU%,
MDQYHW=>XJ,;5L><IB\Y450> ZS6BPY4GI3X4+"!@_6E%>&8!(X<V8QC*>%8=
M=5^MOC?;F&.P,=]K]2DVR8XS.TJV7]5CO\7F:>!<D3XX I%WL1]3MW"/P6NX
MPG%2P.'UCT\KMLQ=9YF[V)-E[KK#0Z-G[/YL12[\WI_J[YO_J95T*AU@-H>9
MD+1GCT?Q]?2'?X(U "?GY'6W7]:EW'26@A1&-Y_$5[B:R+KU0/W\^N-7Y:,S
MA*C59XJ\4EA=^C%^16[XF6"7?^F/[OS18 D,5HJG-%A]I<?^I&G$-1JDW^#2
M"_B=*R%_&()G_3/&@2+753#5*2BP:+$N[3CQ_"?EW<PV?ZIL\Y_=%(M!SV7W
M9Z;F)30G+/FX.45K<42N(!^7OGL-SX4[X'C<*3LGG>EK7+N9['4>^AP[S5[[
M_9\-Y?S-MCG.4\Y?D'7\>W:,X'W.04!\FUV%JLIUNLVQU@\-GOJU*E2N^]16
M5RX+8_V-@[6=S_\:[6[#/?0=W?SC ]DY_:VWN>WQQN<=O/5Y$\:\>[!YL"-V
M/N_N[ZX?GFY-[_G/O_;=4>A!@'>PL[V#=]?_?;"1V>I//WS?/?@@=N@'&/L&
MW3SH[>\>_7ZXM;W!_W/Z;KS1K7O$K.TE*C26,B&)N4#<>8Z<(P+YB+U)46'P
M.%?>,"SNJ$O5E?5G65K0W0O0OH0^6U.-OBB^?GTCNW;5)B%/_1EWY.Q4!IB^
MHF+))64[^OU^SD>>W,;=:9M)_LR0<Z\TUXDQ2S#\K];>"F&"AI=V/ 1VN2&_
M<B7?7=KX!K=U:^&O9>$WFA8^"%AFG#B2/H&%EUX@[:A$DC@2I!3$,K7R1JPJ
M=NO^;TO<2?9VL>)#1L_7T_L+MTHB4]P(IA(WC$?BC!?1**^XCYY0XR\L)+B
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
MQ\>&U3;E>!M8;:0<C>6!&B.043X@;K1"SBB) H[.,V)TQ&'ES?G]@ZNG'%M
M;0'U90+J<J<!VMSO7:%I(_=K*5$Q'P[C,A.@B( ,(Q[)8%W$U"J-617^2_%L
M'-4+J$;K5]N<'('F^!]0C\I%ZM&B6(UO/YB,QMUT4OVIVP^Q/W[-9('CID)?
M.CD/H.DDDY>NC3OGV!!7.^/]"#H_HU?K%7JU#@#!A>GFSK?]KM_O[-NOL>-B
MS%=U;*<?Q^7&SO%@U"TH @K?&7^+/;CL" :V#T\<=K[ MXSAR[_%8>ST!^-.
M)B,;=FWO56=[/XXN&H>%*P&#1EV0#OCK.!YE\J[A2<?V0QXZ?%P_K=,].K;=
M81[O:.&6 0RTLS+(%Z/QOH4UG#YDI>/L""Z!\0XFPT[\:GL36X8_2/,$//P=
M'M7W<;5^^6[?]R8A3Q+<U 5\A!F";]D?],J01LU,_2A_ J^9I^\DSX'M#*,?
M@*B>Y"_)D^\'HW$>2'?T:J9613X7Q',1B;T/D7$)6DLLMS+I1$3D7&M/A,$Q
M[JUGTF=,,$%S]N=%I'T_'^/;GAV-NJD;PV\G;^%KLJY/;&^C'O8ZK-)VGHEM
M^/[?>@-_^$0Q=_<_^]@?_;MO/YO)UM'?^QL'&]^WUG>^;Q[LL-UM^/W4\ZW/
MG\3NP2'=@?MWUP]/=C]O\/^<;I#-[<,]1P-Q)$GP0(.'?YQ$&BN# M%&4.:=
M<7ZE$\$R'<-$CX>3N'(1JF0,83>"D$= B@KO*[B@N*C='#?\7%BF0IXQ @2[
M4HVY%@2 \ZSQ\;N/,=1&Y(<"KK7E,O<A=YQAYG@D3*JD5(HR2I$%G)A:P*<^
M1\/+@#?WK\-D6,!G*OKV^#C]P,/8L-^[1Y.C"S3@Q<G[#M_XL"<8Q3XEA1*3
M&'&5+#)>4R0DX9@%$PU/*W</4^TJWNDJ&HB-60@$6:,(XKEAAW:<HF023BHY
M@8T$;T^><X?._%[;\6*J.RGSAV9S66G[#S>K1ZL==P)6[\AV^^#%700:)ZO%
MT-L1+'ZO-_@VZOP"?L5X?S !% NC7U\O&L;K<,0O(R,\83<C$7]6O.7W,E@C
M^=,9[!-GA#?/@A ^[W#_E$KZA<Q%2X[_TQEKR?'OGX6\%;=6W%K2^SM-\J]/
MLD?>&?1CYR3:84Y$]>*H);]O^0&7OKW<QBRO]+D[WN_VM_IQ!T1XH2+TF>P&
M#<C&T2>Z<_J.;ZR_/X'/\0[=(5OK7V"\A]]VUW?W-]?AWE.(_3^>;3SWZ61W
M>_< ON_;QL%[L;O^]\'NP2>^M;[;V]K^[7#SZ!V,^Y!M'KPC9^CPK?+$A,20
MM)DDU;& M*8"21.-"$1CZL7*&ZI72<N'W\)A"X?+"8?9MRFN30N%UX7"!D>^
MCBX&XU#0A&9.0H*<-1$98@7A4BDF<8%"*NZX!V<+A<N%""T4/H%JH-8SO <X
M;%1=*L\=5Y@CST2H6A(;3 3"QA.N649%!G!(5S5OX;"%PQ8.EQ(.6\_PQE X
M]PRQPEZ[J%'4A"#.C$=:\H"DEDF%&+20IH)"]62@\"6<I<]Y3YMRS>$L]3G>
MAY?ZLI__-U9_:DGWGT*XNY:7$3!MNUJ_W[M?"[R-6G?OYABWP,C/$]8TNH"H
M2 YQS#VR6A DA7;44IF<E"MOY*H2MVXATG+[MBI_"Y5O79H;J_O<I0G<>2*D
M0C)XC[@";T9;$1$C3'A-K;8\%'57=\4!T:K[$JK[$H4MK86_#Y5O)'0<#5@+
M11'Q-" N<$0F18>P#-PGQZ/(%I[05:Q:$]_J?&OBGZ2^-WL^8R5RCZT40=5Y
MI (9&2Q*3JLH.?:B\/N#OFNS1/K^$@JR[HGD;S%WU)[N?X )>C96X1$"OQ="
M\O=0X+_018$**I-A 5$;,>*.&&1LI,@HPX6F)@FJJE/^XM8-%N]<JY[&]EZ+
MKRV^+C6^/G/VE ?$U09["I/"DD01#H(@+G% .GEPKY/G4HH@2]Z,B55,[W@K
ML,75%E=;7%V&;$;KM]XQOC;;BR3&:<PT?S@R^(=19!E1B"@:C.'44QWOBIRZ
MQ=<67UM\73Y\;?W6N\+5N=^JM.+: JXZJW4N[V#@MSJ,F#!.,F(4]?BN6/^6
M!E>OP/IWORQK'_U^#)->W$I_-[C6,S%PRZBV[O<\59*84#A]02B9%<CP8!"5
MQ@AB@_("5W#4[4]B6,M@$K743%G,C'=PK=5&X@@ I7"*WJ=P!0:V2W@=Z=2<
M/2H#&ZT*%X>9*RF3K)42Q4Z$(86?L[)]BYU]"YH)*#DJ?V[0LOVR0%_8 9WI
MC7[-]$T7[CFLOA@Z)B%U2QK4#O:)TS%1\C0YB/)V?^?= KI=3,W4TA&=G[S2
M<* S=2TZV;>XO)J]98FY\D3^6=B'VYF\\4S^-1QDHE?P((:#H\['XHZTTWE'
MTSDOGWIQ1$9O!\/,W3V.'3< 5[0E,&K/9?XD?>5=BIJ3Y$V@'$MBG9(L"$UH
M(A!K7AS$_Z@;T)GD_YG453/,?R[I*KZ[[L76^H?3W>WW%$)XO/EY$Z[;W=_]
M#-^U_27_G6_0=V3S[=ETU?YA;DJQN;[9@_<YW-K^0';HCM@]^KVW^\??O:WR
M]R^G.]N?\!E:(F]]XEXZQ+"UB&LID'4F(9&9IS4W45*S\N;)'+9LSYVW^+:T
M^-;,TY_&X2#8T?[-4"_[S2WJ71?U&H>R6,"!6(^H,+DSKS?(>!N1549%XZ)5
M 5#O__X?30G]9XM]+?:UV'>'V/?#/<II"/8[1& 9\K;2CW<M6QB\)@PV:D (
M]S9% ZL&:XDX$01I%2R*3D:"E=?2LI4W?!7CU@%L0; %P4<!P7D6ZJ]A/+8G
MI=?+6C^\S?N*/T+'%AFOBXS-*HX0L181$1?RAKG4R.' D3=&">H]UQ@<1+$J
M\1T7Q[4\1+=1Y[4OL>]/?G"BKSV</(4S*:T0P1"NE>5!6"--8-*DB'VT+J4V
M7[<LP+3 'A2EP9:H@'A0!G'L"7)&"V0QF""J$TM<K;RA=]50MN45>)ZJVZ:B
M'E>A&Y2'GN)@(D$1QX2XISZGH@+"U%'/>&!8TCM+1;5:_6*TNDVR/*:"-^F=
M$Z'")X&H%PQQY372^31C2$D&(I3R%!1<K6JE6_5NU;M-'SQ9G6\>7M:4.^&0
M(U:#43<4:6+*,68!BT^PT'KE#5DUMT\?/!PAT+14' 8;?PP3[96+5[Z$BK'M
M8;2CR?#6R9<+7OWY&0,LF4N26.(EX5XHK0G5)!K*5%3>JS;YLBRP_JF9?)'4
M!8C2'*(L<[ERXY E+B#M6" Q>.\P67ES:T['B[7_,;?#GKGF_K+\JMNF66ZB
MNG./C&*F-!8"^60A"F/4(^V90=Y3)QW30<7<<^R<ZO[::NVR:NW#*FV;6UD6
MK6[D5G0P,6%OD8K!(&XD1UH(BF*P(07I'$DQ%[!H>E<]55OU;M6[S:T\O,XW
M2C,L<UIHAG+?/,2M%<A2Q1$F2K-HE&"9&(Z85<WNJC9C&<HOKERA5M_7<A ]
MW 0]&R"]$1-+FY=X!$C<66@I92C8/.81][DRQ+*$-+,1\9 (%Y$0FMOFL;LJ
M"GE\OJ$60UL,7=H,T2.!:)LAN@F(SOU*HIGR.E$D= ;1%#@R4EM$ ^-1A41C
M2+?+$+7PV<+GRX3/AT7/-E6W+/#:3-7)*#PXI,@D2A#GV""#G45.<>&M8Y[F
MLV9$KBIRZSX9+="V0-L"[9(";9LT?3#TG3NWSB8O8(61D-X@S@)%AGJ!E';.
M2N5ML!Z<6[7*;I\T71KTO0(K<?Z]IKVUY5V;+*NU9G'Z2F6*U>/!J)NO>3V,
M/;CX:ZQ)46O-:]Q8OS.>WV(=O-YD?/DMY\C1'HD0-Y-2-TEGF__N#^<DD%\B
M<L-H#Y'-G25?V]XW>S):^<<B2VVWC\[,X66OWZ"O93,RX#?_XX;PQ O&<V;5
M*CA@./@450PA)(Y%T)99J@*S AL3F#A+<&R]51P';;QC'!#/,$"[&"Q728C$
MTXTHC<\LX84#_2FS\CV1]^I7NB))O0%Y+Q'B/EA;!9/W03'+6#O8IS78JU%#
MM^2]9\E[B6G)>UORWI:\]RG.Y 7DO>ULMMR]+7=O2VWTP"U3G>>>"V<U%EQ!
M0 )ADV0B$J<PA[ JIX*(J5-!/^]!=3M"@>=5#'+T@6W]\0&>_9[MG+[#FW_\
MJ[>UO@/?__YT\X_W8N-T]VCS]/!TXUP#JOVCW77/=]=_[VX<A(.-[0]XY^@3
MWSQ8@[%NX)V#P]/-HQVVM;WQ_2RC+[<N>@UB#8N9&_MA!"LF$=/16Z\H3_SN
M" 5:6K<6^Y80^ZY3KG$'X->6:SP4S#4RVLQZ')5#P4<+,(<SS#GXB>D4--?!
M<;/RYOQ6XK4/]+38UF+;,KWXX_EU;2W%8V)?HY8":Q.9<BRW<Q2 ?20AEW1"
MFBAJ112)6;+RAJXJ\638*5L0;$'P>8%@6^?P8,@X]PH%$]Y:#7$OIR:WLXG(
M$6V0-4I;%9C 1(!72%;9TX'&EKBW)1)KX)F ^ :S("-WF/,H+),T),>YHY8E
MQNXI7FW3<M=&I@7BWJ0)#\HI)*VB@$Q)(!NU1@:"6"T)3M:(.VBTU5( /FO-
M;7E['U>?YYX&\UBK@"4*5&/$B<4(7$R/K"<N)B>=C*+E[6VU^JZTNLVOW+-N
M-\^J>),7U"(('0GB,4FD2> (>TR=(!H3Y5K=;G7[NKK=Y@Z63^OG%CU2;:(P
M%#D7-5AT"?JOX5>FA?'<,8(%7WG#5N52===H27M;TMZ6M/=!$LDX2DN-8QH;
M[K4R!&P#3BYR'QDQOJV26FZP7Z#R58D;E_)9.)+Y0+UQ2 OND(%U\YC(Z!*_
MZRJI)=HG:[5Z*;6Z3<K<1*L;S92TTLP9CB+!$@(WHD"AK4*!4N:IX81STFIU
MJ]5WI=5M4N:>=;M9]((Y9<'F? P)B#N!D>/8(\F$<X%&(91N=;O5[:OH=IMY
M60+5GIMMRS35@KKLC(-J8R.0YF"VJ>4L*9ZL(F'EC=2WSKL\')_O\N4SGLJ5
M2T64?'EUS[.N%KS+J7DV=L=[K2V7/"3G.,/,@2/"I$I*I2BC%&WAS;(8%]_,
M]%@5B/:P*$SFND!L6.Z_F9##A'#IC4XDW5WAS5VHS%-FFVL!\YD#YO68D!\%
M,=LLVDT0LU':Q(1(CE$4/(F(J\!R2W*!G G&<V&MENYV1^M:L&S!\B6 Y<-B
M97M6;UG M)&V9 YSK2A')N,H]P(\3^,H4@E[B;$!P1%W=%:O1=4655M470I4
M;=/(#P:U#4H(+!*5"?Q63#Q$^MXA0X)"A@IF%%56:@)^JUB5\CE@[2*]\3DB
MXXHI]Z8,M@>3T;B;3JH_=?L!Y/<UDS-JW@=4^4)+#'K2&>_'SDFTPU$G+C!A
M5BM7T6%27)%B=FP_Y!]TYUOL#.'"[E>XHYN9Z^)H##_XP5'L]..X,TCEP?9H
M %-]6K'TYINM]\-8?JNO.![&H^[DJ'P8NB,/TE#N_J\'Y%P7UX"CM>D+K#5>
M;2NMUT//:/17]4JC]_VO,"L%HV;X(Y\H_NS^9Q_[HW_W[6<SV3KZ>W_C8.,[
MX,[WS8,=MKL-OY]ZOO7YD]@].*0[</_N^N')[N<-_I_3=]\ C_9"Q$D+8I&&
MR4><&@+X82.2"BR)=\E; \$O?L7.(4@'Y+X'/ZQ>4R1N9Z%:D;A7D=A:W]B3
M07JGM$=2T(BXI1+I(#2RE("H4$*3IEDDSN>0YR*14>,Z8J&Y"9$3@I/'/%)O
M0"*LE4$IHP$H7!$+/14+W8K% XO%]KL]A@.F*K><CD3GKHL8,(,2%$FR@8%<
M8)^Y!EZ=]S7F8@'6Z#CZW$R@=_+JC MR+?O-IN;[06QU>>+K[AA\!?]C@M;*
M>MONL/-OVYO$SD8I.(]%@F[YIH_EJ%SZ\A>[+G]GWWX(SE[G>4W#C_VU;M_V
M?=?V.G8TBN-1P;\T^V.O:UVW5P*>CAW&CN_!9=W4+3Y:]K9@HN -N@!+)QUG
M1_#W0?E[IS?XEAVX7@2-R=Y7MW\\&<,G%IRZ46<$4P&/\19<L_&@W)#RI'\M
MDWXTG_17G?]9Z 1R!V[:(J;FM2Y+O5;>OU[OL-6?B<-O=M0=;<-W_M8;^,,7
MAZ$;Y/]G[TU[VDJV-M"_8G%?79TC49P:5DTYKY!RFB0WK;8YZ2:=-E^B&L%@
M,*]MFL"OOZNV&<P8!@,;>ZNEM+&]MVM7U?.LH=;06?OZ'5F21:DH\2I[ B9:
M8HV0)'C)P?,@O*17^W88ED/PK%ASLO2Z]3PS);)D 4E7V[S42BB9#G QQL/#
M=.XN>/:5_NUB4S?+?<-R[[S_CN:YRH R4LE2!(,I21RN,F%,6&.C$9'ZJ\O-
MI3<!U]I[:0&->AL$I3Y%_,M[U+VN+O=& ?V@CT11.+<RCT?%>!NE8J\=#J=H
M:(J;IAGIE"?0!AQ/TT<Q#(LM><KFOBQH^<K-=NB9!6J76_[XE*^.>N/M";]-
MWW>[EX9N&+:/6_^H/AP<(O/&T3_?W=BMZ-+?TX+CQE8S/\7*+=?]=-+O$%3R
MBF=!W](;YUEZW-@5J>0C>]Q(=;\N) ]L;@)"/T<G%OZXNS:#?:W!PNT?/Z+'
MS5LXO+C9IWH1R?Y&N_%<:<'#Z6-:\,S!^LUC+Y'?BJ">/#=KFK$\;0)Y,X&/
MG<"6:.;N$7.W,1B[T\U7S+*J?V1EFRU>$R WVFZE_SOLH8U1G$SO[K.?GE3B
M]#X;[=%);\T@:SW(&96HK8[!]:13;)W!U1[LI^,6VKB[:=S*AP]ILG7?LEFU
M>^8'!R+-9T 135%JH[,$YL&H:+0*7(/5RE-O9?[^^<G-T@MU5Z%"H^T/%P1^
M[F8LQW+]07%0S4FLT,%V9^<#M$^V1'L/K\5K\#K9W?AZ5-R+G9TMV-QY+S9W
MOHIK#='W/N#O;)VLKX7C[D[[!)]-;&[TMSL;[X_;)Q_X^MKV7GLM[G4V KU2
MCC=FJ@UGGDC)* &N*#%&:J)HA)"8D]'8I558QJ6M4;&O%PJO;-BI3L_V ';2
MS$?J600E*5@+CF60F3O/;/8,Q/W8Z;9J%PTQ/1LQ374P4-XF3BW12CH"T@EB
MJ4F$6L6D],QD0>>X]FA#37-*34$8JER221D-5%HO@V7<*6>#\L'YAIKJ24U3
MJ2Q)ZL"<RD33S B$+(F1C!/-.*K$CBK-74--#375XMD>0$U6IR1H\LE'!5H:
M@T_I ]/4:>0G9QJ;KL[\-%7]CU$+64>"*E1 FTY8XK*RQ#(G?+"E@#.KGTTW
M(V_T6_&=-26''\!,.>DL!4.QRRD(Y4QV+EE*N9;4NJP;9JHM,WVY\#;M?#EJ
M?_F.@L31F!2!7!H6.U?"Q9,@+GGNI:<VI[BT:O4RB.NY)4WYPKG!M.>:N4 #
M4YP#RBL+1@L9E-0Y@TGW]" WAM"+P_GX$IRER;A(&0B7B1.P2A"?$-U:HF'$
M7%0QYZ8<Z0+@&2AW(:-TCMF U\;0P!W2NV+)1F O[MB@#9[OA>?.9?$<@!F&
M IF@D+8HHXOQX&@BWDMPF0IP*31X7@@\>Z&3==%%  /4.)3,S(.,B5*C4Z-S
MUQG4EX4TEQII&*&<H@X$4D0A+7PFHG(&6&.STS74N1>BX_-9"12"L"$CW.6M
MWGER\91SX'&!:S]QY3;WJ.$]FHK:=:FH_;8]C+/I);\0NHZ5X&74/GNM("EO
M8K8L4<4#.)GAGB<?M]DN=Q<5O*'F56.ZW$?+Z4['L4G% MJ<@FBA!&HX(A+G
MJ2,1K &0@DD]NS/9QFRI+Y29#,E+KJ3, B2WWAIC/; 0M <M9A&8^F \-U;+
M/?$\57L9E$_)E5H(DA+0V1'G6"0Q<BJS=CJ$L+3*]#(3O('S_,*99\Z$,\QY
MSH&C9&:!@6(VJ1AL8D\\)6@D\S,A>2I:*BJN&/Y'K(B:0$P.7QE)(DL&2MT1
M29M>A(L 94,]DUXZG94!X;2/W*LD5 J:2LMG$5[42.;GPO-4=%'.S*0DB8_>
M(9Z%)29;2W2B#J+U/BM=0\G<>%7JXE5Y@T[:R;:=_#NKP*W[1LN^:<X721O/
M'+,N%5<*-3%:H103,08(J>'\VG+^UB7OBJ;&*Q.)"P)*B4]>FC<PDH3F0KLD
M,I]POK%0HY#267OT%Q[."00#%X-Q7 /-RG/\UUGI6/(N2==88_5$\H7V9FV)
MT[&9V, C:F].(Y*I)5ZX"#0:9^SLK+$&RO6%LN:0M#8L<*H1U1G5]ABY,48'
M*XV#!LJUA/*48\7F<C;E/4IAS@AXFHES21-IDN8R:.5AGC-D&RB?'WEDII-V
M3D?*4<E.QMC$@W:3@KWZGMGNC9+]*GB^$,V0R[&5BD2",*<->D$YHE@,L6C?
MW)D:*MF+4$6LJJ?V4*_5G3V1Z%UMD:;K2\UC%NWL)VANN%P%ESV-7&N.LEV6
MUB89E!$A*V.YF<GQ=57MNXFR?2IY[U[RD'!K74B"Q BE7$E0Q!O4S1A-1EL7
M&?6 Y,WI,M5/[K$^<_R\\AE9PZ0-D\[>]<PH1.5-"(:!HMX8Q814);604>-F
MD;_0,.G,F'3J?-%(Y;)11 >;"6CMB9.@20@>JJ9T#.*,SQ<;(FV(M"'26Q/!
M9)!"1DYCXE!:_2&G F)3>)-YT/*)GL*&0V?$H5.N08V"3H$ 0DOSW]+&B5@M
M-,G*4V-T":GSLXZY:DBT(=&&1&\-?LN<&N[!!!4@*>K0R)<^R"R14<5]R_XU
MVNC+,.F%-LII9B%'00S:]P0X!6*IC<2)9'52"710J(T*O8SK.S=,>KFE^MW]
M.*^V.;O20+UI<W;/VS:=P^9KL+-M<W;[Z>=\- ]C]C'-PQ:JJ4_3DJMIR56#
M"6Q:<C4MN9J67,T@W\@@FY9<34NNQ2C?;H3)*46:9$R@%?-:E!Q+JQQ55O$J
M#)#9FUQ,BUZ5#?_N=7>Z#'_OQ^;.9]K^]!'OLW6RN?'K7OO3E^,N_W6W\^WK
M<>?XFE_I>//;KST<'S[;Q[U2;:W[[??M];5.O[W7/=I<^W6GN_>%;6Y\%E?Z
M;@FAN,\^$>=S)* B(SY&2;+F@2J5A#-A:54(7:-(OZ9_1$- =\:N2:-C2#:8
M$GH!PFIF*;?!*AJ#G]1JN)F FHK.KTI+4\$707$:)27,IT0@^TAL5()0AJ04
M;&:&FCG.*6BH:4ZIR07MC-%&4LI <^]T4,RJZ$.*)G#=4%,]J6DJID&Z0(6)
MALBH% $-DE@N$OYC*%59^0BZH::&FFKQ; ^@)FD",I"4-D, QH-U3FO-#7BP
M-M,[M*:&A%Z(A"[THV)/4TB>:!K0;',!B%?@B(ZX1M8*84LAA'J9;4WEF[I4
MOGF#SOKG+4\^0\]P<X\7NL>".=1_&0P/!D,W3BT_N,&;WF2AGU?JI-*KJ*(,
M*!%3%D99&YWDADO.65)/,[$6KJ#$RR@W7R_YI#E:R#Q10H5V!$*PQ$3.22G?
M!9:'['2<8PNK@?(YE'W.T2BJ;)3@8S)!Z13 6ZE,2B+>#\I-08E7P?.%L1)3
M# DH$%S/1("I0*P7:+MHGZB4@;NJT^:R8G6J)]&@>=9HAIBMU2'+J"'I:*A
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
M%5I:Y7KE.HCKGVW6;("?;(#.UG=%0:+ZFXB6);@6:;TTLN=$,>&H!- \,]P
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
M]5N]<^BW7"6@EUO[:?R48__35HP33GTG4&K$P6&Y_]5VC(_L;'O[C6]M KE
M?6^?/#MO0EC>JXJO\J"X%3R A)29RS89E)J99Z\%F";7H6Z"] ,*T<_C]A]%
MF+[_#E%;2X,D(A5C- (CON14T9(.ETVI7X)DS<TRY=<+<3^I,^Y3,?0V.H0W
M/+K //J@#@>O2J2-FV]6U/KE@EJ3BLR5RBU!" )9"F***X&G+!-SD8N(1@IC
MR^I)^28-JS:LNE"L^F9(M?'"/H9 N^<$JI)UGKE <.E0-[52(H%&2I2P'K75
M*,$7-ZQ:%O)ZR]9%UDT7,NXI,QMM8 YL","C]HYI86,(SB3-G6Z\N#4!^-8Y
MP$.,4C 6B2L%;$M54V*3""3PZ&@(D7- @*L5\7,W[K_&#I<$_Q][?Z_^+_YS
MMC7WW'"KMW^&:(7;[/2= F%1P::Z]!PH$X#CCNZ[@U%Z=_;BWV?NR]Y^M2^K
MBV[P,_[[J!?'V^^L7=&,ERU[ZMT\O?WD4[92[>8KK#3Y3+ 58_6M'],5]LC/
M)+_]1^^Z\J[!,L#!0C/811^L7*%POP']Q.-?BVA$<R]A=+.&<<<SW1X2P>[S
M_"&AM!N^S@SHFW,84TA[/@U;@BVW4*3:AQRO+>1*3REDMRF2-^B2]=X%E1-^
M,D6_N.'P& ?^OW[XK]4_7?\PW>>,ZSXSL5 S.N6-JV9RVB773.@C)A0M\6:#
MSG ^OU5_G.U.')C;2I,)GMA#U?O%*&KU]EM=-*A&KY'?_WJG_K\<CG!M7J*B
M_3T=&C_?<_/M$KW'\[\)S\=]G)YH4)=:&T(';\!G85.(P:3 F67&B2HC$U\V
M1_(_]8H,^.;.%UC?>,\V][JRL[-%NR?_V>GN?.7KW[Y >^W/W?6-3G]SKWW4
M.;[B%=G9W,/[2OS.WN;.+E]?^WVG_:G3ZVQTY>;:UE'GVQ?9YG_N=4_>B[].
M/D^G=F0IK R2$ZDHE&.C1"P5EKC,-8]">6%"Z8Q-;TBI?I+3\UYRZ0T<#C5<
M]\:Y[B''YJ]+=O-];/YR]#>5':.SLQZ$(C[93$#YTMG,""),+@780\15+IW-
MN+U>Y>VQA^8-\]6+ !:6^=X,\<W/T?8+DMQ4*<M,@P7*B9?(;Q"I(3XF3R@M
M-51,,%GX0G):7X\,FF\=[Q$Q\ _VI]06]S=G)P7O58:D/2@ B$Z[I!GDG)UQ
M5IMRKLWLZ;GV&>*;<^V71O=4=A($D1R@]L*5,XCN$(@501:<JRRT$0I";>IY
MO)Z3;,V-G7>C>WE@FVSCQ^H)7CL5LJ5:@@<KE4FX U74*0<;>(B--ZAN7-*>
M]@8%JFTT6I)<+"%05!#/8R)<4*JCM%)(O;1JEH5HFE&\-10_Q,_Q>!@WSHP7
M1N^T,\-1#D$:DB J IE&1*^A)$1NO)/:,ZN65JUL^DV\(=B^&>';&.F/ .^4
MZ 5KF8Z.B%A2(U4"8HUPA$HTO"*S!IPM?:"$;OI-S(>I31GC&4S.GEHD;(GF
MM=><^6@M=3*DQM2N!4:G3.V4P&=N+ F*EUI: HC3T1 AC&>2!@VYG!;0>C2<
M>,4R%"EL[^-O;1TWO2:>4^"'& 1-R7)J(OC@G=;>N128@J"#@L;:KAN=?)FV
MMIE%"0\J$I44ZNLZ,V)T$BCRA?;2"&:X+G2R+&%6U1#JZ'N?3Q@_Q-Q^71PW
MEOALD#UEB3MG<7>90#PP0\ (C8J"#83::)DT*O%04LV6Z0TG;DVCBMIB^LU
MNK'%'P'?WE23&8/2UP7B''@"GK-2(C\1KIB2X*,1F5>]']6L,L'KB.%%2N?F
M44JODA5@#7C&K=4!6++!"A-BEHTM7@N,3O=^9!*WI1?$6<<)@$&,9D6)Y$J9
M*/!_H3YM+%[1%!^ZF/;<<'?4<ONQ-2Y_/J$-9..+OV\M&,>T3DRJY#T8[0U5
M/AO+@28=C#>-:5XW=OEZR33G.01F/9'XBH"RD1@6)+$L&<G05!<TE^;MZNE-
M(FOLC9]/%#^H3MZC8=R8WR^,WBGSFT-I/:8,VMM9H?X>'/%*^U(++PLKF;3
MEE:--<U!^-N![9L1OHWQ_0CP7HA>*@/7&2)QH(OQK3RQTF42 X1LC<R,0Q6M
M;IN.&/-A?%L*,GB>9$3C6SMIL_7  L75-LK0)N:\'AB=,KZ%ULPD1E$I%HR
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
M\>Z*SLX6DM86ZJY:*$XSL5EH BQZXG(.1$N>E/)6!Q665O<'UV/'I_95V$;
M(JB&*11RP>VWA9MG-#[?.\\6&'ZVTA>QX6=KOL QW,>=H^^:6ZJX,<0I RAY
M1"".@B)2<84BR&4=\]48[FQ"9MS$P%("S92-UG.IHP<(,DM[-88;>: L_?X6
M4MY^Q4O!#8?'A310Y3[<'U_BL7@X+)^4KXVK\++67A5?=F>Z0>'2V^.[7R&\
M^Z=S]#SAW:@VKM")ZOB8^&X%SQ'?S<RSQ'??\[:+8+]^.E<"QI?"NZLDG";,
MN DSKE.)B[/-.B\&XX_VVM8QWHNWOWTXZIQ\I>V3K:/UC2U87_N OXOW.OFX
MUS[I],ZO.3<8/QRMKWW&<7=_=#?>"WRND_6U]W*]_%9YQF\X"]_P-_FO**[?
M3QN,P2>;E%/$21H)2 '$"J8(-UJC6N1QY6!I59IEJ%4?U44X)YGBXFFC[M04
M0V6C9*25I+;F&.592Z$]M=[ 8RCM?;'<ARFN53KL?_$A![&AN0?1W*6\B!S
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
MF,HR7S<_U@/E)?,>$43K&8--_;HW:-2^>5QO?JE#; -$&,G<J#-<?(Q^&JH
MB;"<LF,%Y9&[(EH.YI\Q8 0RGV?2%QE3)M?S/1:W4':?X$,T;\^#WZQJ"+_K
MA^/VZ'BCZ].E TP(<R&MYTY8Z<-2'[JS[:_[!R':0G/+2:Z< 'U8,**SZ$CT
M*M=46BZ E8"!N*B?9T,=QO'.21Z(2>JJ,R=I#Y[7=DV]7I/"-Y-0X$X[ADF
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
M5?.ZI!D^$$8^]KV"(=RJT+P3AD/L50)PVRD+OV"1#/,-V[6?U1?5989&)??
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
M7W1:L;98(AN9,OU01KT^6B19TMQ+'F2$Z _5$<W?;;#/?6FKEP5?["AEGCX
M<["J1I1.5I*>ZC0&"^KGM)T$BXQ.RI.MJ@COQ>,E9 ^^\7)UI:&F7R<Y',<7
MI:^-CWU!= XOGIW=1(;7FKE9I=DY@/<9Q H'YVR;U'TVY=Y.*D*/\WWJ4\)D
M(S=/F>M$I#@U:8U#Q4EB4L7&YF_5"Y%=3VV?S(_A&$<0/N4HC3&?&ZO\"/(U
M\;TL[^UKUSD)*1_A/A('%EB'ET6&[DX$_QE;?^]_[.R].1"YL8P*3XS+ Q%6
M*F*L441HR<#RX]0+^>)EM[<P4GA.-$+RHS71I4ZOO)P@7.;&6\@!9AG#4]RW
M[T;]P<A,"DR4V=TWW;-KB^(JDCT!%&F2)S2EO"9&,I8C&QOB,T<@R;9,% M
MYF$F$ZV"Q1<A0K:[YPYT;J(3VI(@ B7",$:LYX:H D_B&>:4F,NCQ:>W]>Q6
M1MN_F[P)Q[U^JBF>*J& J(P;ZETLZS(_U:U*8VMT;B@]G-4M$V?J@8[[49JW
M5?AZV@-7! 96OO?)FS1N7#5B.JO+J%8^CS*9>[ VM5%2]G995;'\L!ZCPP:
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
M-6>#%_^>)G# U6;F<-'K3S.[ZMU?_K^V_^^7\\8SLVKE)J2Y,T!T@F9,""!
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
MG-9!!17A)Z&O+,2R JR'+%1[&P=6!EE0$PG/HR?"4DT4+RQQ)E>&>:"\(@/
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
MFB*[F0)'%'CP+6 2J'<"10DX!>HM6*] C,B 2:L<5RR8&<;?B<@$=2)2'#4
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
M27<W4EX5F/Y'^V3_^P]>%8S]-$HY%39R20PRTF'$A3#(,A)3JV?J9(DEYQ3
M9%;Y5(^94OH<[/._YR1]_M7BD5*&IUZBUG*&F>6!L%)&*6,H0REN2*S(>#0G
M>'0ZU@K%NX!)B4P9 N)6ET@YK1"QCDMAE2B#R'B4\6@^\4AQ[0,G!$>'>:!.
M Q094WHIM0+UR-Z0XI/Q:#[P:.?36%TC'<J(/1*6"<"C2)#VU=D(@!06I9'"
M9SRZ)1X]4=G*9YUQ=5Y3G;*D#+SFQ!G0<GWL'<]-U,&)Z[T,TA=8ANXQ;,Y+
M54!N@ZC5)JZU_%]I"Z?%R60HO164;H^;FDHH*8PK$>CF- 4&.J0L+I'$@6HF
M&/?4+*U>%:B5JTK.*SM?78+_,6RVM(8P96#!S-C/RM@CFPV$F6&&I31Z:Q$O
M)4>*6(XT+A4N29GRBI96Q67.OGV!_<S4\\W4#S1\,E//!U./&3Z"ZY*#Y8,(
M$1R8.I8(A+1$S*G2<&XIU7B:M'X6GGX-9UN?;@C"?,BIULL'J.>P(G;:*;RD
M#Y?99AADI4U/G4ZIT1FM[H96'\9MBRBX++&7*$8=$8],(U R,>)!$\>,MD#Z
M#T.KW.)GWAG\H69%9O"Y8_"1C>&Y813V%96$$,0%<+F"+4SAZ;JT)FJIPM+J
ME"8]F<-?"H<_W,;('#YO'#Y^TN(#<9@$Y*A1*)5/0B80F?J31A9 HALIEE8O
MEV1\%@9_#2<9VP'XICK)J((;4W'>E,^5#RL>U<RX3;N<^R)7M:-K+;\YOI\9
MM.X&6I_'[8[@"<-2,[#+(Z@E.K6]\40AS93GI::2*3:/;6^R$W3N@M%FII]D
M+I\-EX\;'ZF:E-2(&RO@GZB1EIPC'JTS&!NMTLGE9=4D\_=+XN]YL3\R?\^$
MO\=,CVBIP:E!N%.8I5X$P-\8Y+F0D@:&L52.+JT^.,;KZ0X\ADG.,-AP/20L
M\I6OX=1G_3 5V"X:K:IP>'W@8YK-]HEIN==VY+.HIEB]AZ/"2W#16E4QYY_A
MEJX-=S3#^-U@W(T;8P)4;1QX0($(!3">/$A8>X2-PY)&+ F5,S/&LK=XOKW%
MSQIFECG^,3E^9)B53)?>D8 \-31UA /%C5J)B!"RY#IB0?32*I>7VR/D8Z&7
MPNC/&GJ6&?T1&7W\<(B6U"J/D8W6(PZ[B2PF'E%.E(2OC"%DFH4VCX=#\V=(
MS85QMH G9%6CE-2> YZ4*AW6]=T",'LWGY+-63!>M5=K/E4=K-I093B^&QS_
M.+>T=C:V3[8/OL5@I93$(57U3O.6(1V$!05,*L\5[$B,\^4TRT[Q>3STFI67
M)3/X@QG\=(+!I3).:"&0X&!7<1L<LJKD*&+*6*E3ZRN5S[9?!YL_W,C*;#XO
M;+XS*<>M98;ZE(?K200Y+B2R@3.D2D=LB4M.#)U'-G\-IS\?;U%3_94= BU
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
MLE"Y#E@&PE<.A)Z4!-9#*EQBSJC5D5AKO&*"1QPMOT4>9@;">0+"D4H8/0/
M T704L(0EV5$.F".J!2*>E-:8OS2JL3+@NM% <(GJB+S?'Z!U!DG_']%MXZ"
MN)]C(">AW[9"6*1"\C(X'SF7&&L>C?&AY-(2#@IBMH<7"?RVQ^WA&(P*VDHD
M1>2(FY(C!0H]<BI$#C8Q-=Z!/:S%,N'E'"6D9QZ?,8\;I@1QPGI/ H^4&*>(
M<(R+$)7BAF=+;[%X?,S2$U+%(&Q HB0$<>=*I#5UJ(R8,H!T1IE.X6YL6>M<
M3.8%\WAI+&<EEIHJRX,MK8L4 -Y[B744P6<C9L%X?"3'"2=62"I0#%@C;E/M
M8Z%IRG<H72RIUU@"CQ.VC%]C89GG,U2JR-+'.+>\%:Q-6:V7!VLR,DM4B;$U
MFB?;!(1;J0BV3B15163S9)%@[<.X><("(\&YB' DJ?0E<PB$ET1<.BXI553A
M9)Z YO)P5)N.+,_IA\XL?EX&3Y0<1\N P0W7PJE(@ !"",II78J0K9/%8O$Q
MZP1;Z850$7EO&.(D!*1#=(A13[ WPI9,52S.V:R2U3.+SR.+4\$-H_"<X+D1
M(O$YB'-&M')!BGS"LF@L/I+BFFE<2JO .*' XLP1I+7T2'"K:)FZ%4212J-Q
M\> "UC/D\!=_AK)7]:L>)/X\Q@G*3??EBD1/MT O1DX\9>^#+"<>6TY\GK#V
M*(G",XR42"%)42IDL7?)G25]Y:M.^>*,X&4L9G48]?R%BS+89K"=7[!]NIX3
M&6P?'VS'[&XO'4A.$Y!,%>BYHC;5B./(.*(T<89P4BZM4E$N@PS-8)O!-H/M
M_/?ZR& [3V [TFR-PT%88A!32J33BQ(9XCTBP4BCC>1,T11F!9JM?'"T_=R
M[>LIR;D[5D&ET2T.0BM5 @N^..X ]W7@A44$5KM04LP-N*V[4JPUFZDF7*K$
M<MQ)=<1ZIU4YE? __<9QJA&5'MMLN^JAT^J3K=RFVMLMJW*ESE(W5N6:LAO/
M5:BK?/1"77^'5A=6<:WEJ_/\O]O=7B?T&IV0MF98L7@.JW=]7QL@Y?'A/MVF
MVV<[WW>_?"#;"2D!-7>_;/[:I^]^;.\UO^_#N_>/8!R-"X66CMY]WS_;/X.[
MQ=>-SS"6CZGHDMC?@^^_?/BU^V7G$)"O <\Y^L_9MMA9^P:60!!:$81% +13
M E1+;APR6G%)<"BE-1>K=SG!B &Z%"#M.#?)8^PD9E'0DHE2B\O5NX;+7_S=
M!.(IKJ_8=27.5#2V.'6<II<>NW'Q4K7#0_,S%*;@F/SVX_=B1+YU"4'S$]"^
M6QS#6A9'QL.5/TVC6=5>ZK6K2H+AZ+C9/@VI[F&J)C5X3G6#286END4P[K X
M-IVZZF6K*JJ8!MMIV'XO%/WCZE&M80W,5'RPJG;H0BI5#-^W8%;-JIQAO]?N
MG,) ?C6.^D=5N<(C<[I<F%X%D1XX+4V@W5J&[W^D'WON,%6V.G]=501Q4)MQ
M;*@KQ;KI'DZ_K)K*2>B$XG\]H3]2W$%KVP"<:06_/C;Z1/R;]<YT-LZ7Q71.
MQR]:JQ;\7($K7QTL;;&=C8-4@1VN^\%WSI+Y2ZT(QJ/@-45 (1%90S5RQN,H
M""ALCBRMLI6K3%_@[69%?W>CE8>Y4S*M/(4(.ZNZ.8&*Q(Q$/N 4E<!*I(F2
M2)=8"AZU5C0NK=*5R\W5BW/*2+AZ%^IXJ/V7J>-)J ,4'*ED*0*QB%F+@3JD
M1DIK@Z(S5G.M3+ IHG[E\B'%D#KN7UQQ&41W]SC XWZ&YNE,J_&6[!J]?Z@O
MT2GZTL!81,DO]5:>FVH#=0E)^FQ%?+?V-K<+O5+42WK[?]?_M0:T^:G8VBG6
M=C:*C:U/:^\_;FYN;^[L?2J^;.W]JUA;7]_]O+.WEK[8W1E^W-IY7]WP;FMG
M;6=]:^VO=.OZ7[N?/G_<O%(C'8R8TQ4ITFH.:HF_K8J.PS;_,2PZ6&F 8S<.
M]@2/;C&V*I9T]2V7ZEL]DR(K]06#=>S?P\ZHKMQ!0+83S ]D(@SVK6F>F-/N
MTIM)"@5:O+"&5TU_LJSY8.ZK_VT[;U:GC>=Z-IA?,V&GW0I36GC<%@?*>^+
MW+@$:K9?NYKOUW=W]C[N_O6I8M:_/^ZN;VX AWZ:@IVW\4X]>X7\ZHEO&SUX
MO[O%\FS^-,V!_=B.Q<AO452BOMVLJ]W_W6F[X.'K[H*NRHTN.W@( $PR@I>K
M9@J51.[VCU-6>?+WU$T@A@;M<+UJ)UVCE;X#L_A7</V$TO!3;+A40+_EQWX'
M/<O GZ8Y_'VY"/7RI[8/\+X08RW-6Z';'3[?C_;$C>_)\?F>)%OX*H4A/;9I
MNKW"F]/TQ,JZK9IXP]-^AM3ZI^HKT.@6:[7-79>@7QFGA:O>"Q-K]GVH5ZS=
M[Q7-QA%07FV-3]S4KJJJC]WJ0^IJ4;?1@*]_-GQJ@&"ZH&8F1X/IPHM-ZE10
MM<MHC,J7PU7_TV]TZCMM&"Y//0\#;STZ3MT*!H[13C69[N I/=B")KP<%*YN
MWQZE!AMUHX-TZ>8O=VA:!Z%8<Y6+==@Y:;D>=CKZ6(;;CI(3]ZSR4OC!X^'#
M6/^-'I#F8(F[15+/&K$Q7.50?-I<_S__I2B1?\ ;^LU!-XDTN_JO:J#=OCN<
MF#,,QSC7/^K7K4?2A3#1([ @W+ 729K,.!'7>Y,<(>F7!Q%I:AUUG'S1G0:\
M;7G@!6J?5%-MGE:&1[=RGW3"@>E4+SW?I1'YKA1_FK1/B74F..[_Z0[YH"*<
M!S)5[=T"ZJMHLU[1Y>M8Y)9,5KF#SCFT&#1QF4JSS0 *^:+VS;JC -D>W\8:
M.](.GW<I&<B1(H%-\>Y\L\X;72SH*MU!H-1@TCT&!FDD.DGV7NBFL[!&M_)4
M)D([,HU6ZB14??; /*F/2V.XB&Y\$4<4WQDN8O&;29!:&?()^CY6R$*8043\
M%G^OWD"$'WR:CGF_KXPV[<;W)4 :XN((RT</OB@YST7J5!$Z';<>+%QO$BTC
MM*HY>=CTKA*4TV9= W35+@'F<3Z%T:55^YVCJI-"M<N_!NMYW.^ 759)S 3D
M(%>J 52K4I\0-@%'X9=P7.$[7-)O5:\<3+"9?.U_!F?ZJ?%3K#"]T0*9FNAK
M)'6[RW>@F2/0")+C_;@ZKNS5_:1ZJ0/24:,[FDDZD>RV*RF8VB-5. \C2$(V
M3"B/4S68].7MAP0[%ON]A,)# 7JQ,5/:J$;WQZB+UCE<I^G84+7A@B</6<B.
MUJPF]6H/X";?&"Q8Y7T9/,R'@TZH+P8] NCA?)>J;6\#)#9J_6%,,*07IX6#
M :>3WD7%_>O[)5:;>9T$'<,[,X@4N5JGO3U%]+M#_G2=1EIC4W1#+W%7[W"H
MY T7_*D%XO2ENB3Y*GV/_%&AZT$="_"N8X["2;OSXY&'?NU B]\H)NSW>C-!
M?@#3]T>*ZCKHEXU>K^:&3TEXM3MI*W8[!Z;5.*OAIOAM???3[N]#1M\#F/4G
MP [5S=UNU5]L0ND;0XR1L$C/.-_>2]0TJ<G=D7Q.8%YWT-F2JGLEG5]LH_<R
M.'OOX3QZ"*MF0VC5_>)J$OJ[ S+X!(B]DYK_A/5VBF3I%G_]]7<Z#2G2O(]#
M-?DDAAO=7F6*'O=!*7+C\B\V.D>5!5()I&' 2V/8FZX>1'%RV "+*?Q*?8RZ
ME4T%Y 4"H%G;7NUC4*P2!;9F 4E7FA*+BOQWU/C71W+T56OY>TG]JLW"5GM<
MN[@;.372/&HZK3635JUEC?2.,= \-ZN!Q89*_F_F]Z38^PDUWU^EY@]0U%6]
M'L$\[W>& A;XI0.#OO8$JKZ[LK"/3(77E>):,53RCZ16DYTQA#T%Y?1'\A&
M[G;IAN6[K=3"XN\=^>NOD3J?$&OS(EK=[*2M/KYJWMQJ#:S2H=DVY*&!77D;
MIVK+WYXV+VDMYPU]![['9"YU3T','=76Q=1W+B<@ 39)7'C8/@%L:39'UG7E
M1SVNHTF7"P>+.K1NVRW@J7&M!JZLN@X/C@#'U)QDN;G#1O@YY/KT^ 0$YS.L
M;"T@MV[R!Z2GUN%49OP%M;*4GC5\\/+XY '!@%;K8->D@8V[;,WQ<6IB#/;K
M][X_J/TCK?'MJ8VZ;@\-FB#7#9<3-QPVCM,[P9*N'2E7K.)*#5DU/"<TFF8H
M#XW)2[K +3=JY*:H+<,TI'/?P6$?%J,(G4Z[<^XS<(V.ZQ\E0[O21#H5*74:
MM:<C3IJR4^<#FY'.UFL?Z7#G#EK7C+D!:EFE?,,")[]+T0<UOABVK$Y;=W1<
M+X:QR7M?G14DN&X<MMN^\FS4QGCE'^@N#^>2F ;F9RNY=\%3GX8R&%C=N[KO
MJIB^RO$QI+NT^P-][J!MFD,O? HM/&[WTA(EAT[][I&IOE+L)NY+3N?E&9G]
MUUG\M[3VQ[TRM;-C"K&EV==$/3)&A@Q7;]SRI-,%Y'(5;5G3$/P_=D#AK5Y>
MB>YS%D\G()73)OC[G_)*>E.4]X4CW2>*%Y@N'_]>^[A7;&UMY2"*L451^.H@
MBKM0@EA:M-"+FU-#GC/R@."K(P\VMCYNKN_M?ORT7&S^9W/]\][6/YO%[KMW
M6^N;'^MPA/7=CW_O?ES;VRS>[_ZS^3$%$ET=.S2Y-F)R:<1<JVM[%7!..>,=
MGDTWDFRK!(H-PV-G/[2UJH./1@6JH /_.JWS8(X&/NTJRAQLFNIS)?4OGG4O
M#_P'P^>G0^*Q(XM/F^L5U*:SU\I7W"I@U.E '01G[ ULK-#R0U=";*28R"J>
M[X9PODK'K,[1VYWC=NT;3.(#)F:31A>3*'&W=BG?:L^O8;>[ (6Z.3#H+L-Y
M'N8D5S/GB"/7=[?_WMSYM+:WM;OSG/[:JT9ZV_26^8Y3RQ!P5PBX):<J<I-R
M1^<_;I?0E>)*5H7=^?QQ:V^_V/VR Y+S7UM_@Q0M0(CNK6WM%']N[FR"2$T!
MN/7OE63=7MM9>U\%\58?/V[^!5)VH_BTM[O^?_^U^]?&YD>X9&\/+K^T\-?C
MYV6],#/:8C/:3.2EXB^!"]DU8;0#=JLX"21E8L-/$[RU]W$-I.AZ]>/R():^
M5H"+K9V-39"Q&YO3]-O,;YG?[LYO\C;\-F?J*+^:O?[^N+6SOO4W"+&Q]))W
MFYLUBWW:_/@/6(U95F7>F0'OZ*E%'^;+_??/;:AY8IP/792)C+CG1 EQG='Z
MKZT_M_9 O(ZRSC[M@?2ML]4^K?]K<^/S7P_"B?D A=A. >CI+,&W7;]VF:>C
MGII%3;<^[ZA<\A>Y^NW])C^AFFF^(BXJ9Y2F[YYI3<C*\WDF)K564BW">HH7
M:S9\'>UV?EYZ#L"WS2.Z6).CO*@DC^_$TPKRJT._W?CDIP8')U)MIJ"G\PH^
M*4B0ID,^'WXE:73C E8WD#\&1V=_)W+?VEHNMI) 5,O32?]J/^+$F@IU_9HN
M-*?0.>.4*7M;?'*'P:?HGI?*):G&U13&*+K#B=<A1E508;L*0_7G1[K +:<5
M R7=ZUPA' 0>55$/Q\?-ADMQ"N>GO.>774BJZAZV3UI#=?%&EAL^#5Y2A76
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
M5A(YMCM'Q7DOM&X6QSFZ/$>7/V7JS[Q-/D>7W_/\!&>!G 7R4"#SH4 F8JI
MSC(XR^ L@^<E7V?>)I]E\#UE,,DR.,O@H0P68S)X\^BXV3X-82",_^[#8TVW
MEL59WF9YF^7M4R;8S-ODL[R]I[RE6=Z^,GD['@)&R"@$3*-FNW7P"RCTR)GN
M86.0D?47?(GVX,MB';Z]8 1GP9O/?O/9[R.=?"[ Y.D;6CYIQ-:;GK'-,,0:
M^&=XRV!8G*Y( 4,_;G<;%6)6'CJ JS].&KYW.!CV^(UU6O!;/+K%V&Z[V>]=
MOJ5>X]7_MITW%T%O[-_#SF@:!P'93C _D(FP;V]-\\2<=I?>3 S@J-%"%T9_
MU5B/3.< KH;]?LNJA;E^/)?O'$PVO6/L66(:D<'3J[4>K5,'9 ^"W6J:XVYX
M._SC#]_H'C?-Z=M&JZ*/ZJ8I%#J8E-8KHB1I7@,5:O#XP917JBD/26/B-[5"
MM;SR5U!E[OF;8/Q>=UXW5E:N<'W? 3WU8,L5IM2"C#7%Q^)R008K@=39@HQ5
MKY1$+\Q8&:.W>NHM;;7[BJ3'OY22^ZL%3]3^1T[5#,!.:'>.D]U2MT[X&&+H
M!# >GM]"'TBR@2R$^PJ0]PU?#!=EL19ZL[;?BIU^BLJ=[>J^S)4::^?UM,LU
M^#VI7(N^EN_:G:-;+-ZM9IQ7=F)E&Z!S[[17\NH^(@;DQ7TDTH7!%AL@\[,<
MNI[#??$O4(=.&KW#B95Z66<++)\MY+.%ND ,OG"X,.RETCE*#52O/&-8.S$=
M7^Q&L!WR44,^:LA'#>21FHHNP.R?_*SAQ<CA7#9]D<5PU9.<XI$LY9/"<PMN
M.&HU(BQYU:'\/+G[%KG=P;C#](Q&KUN$7\'U*ZG;CO"PT.E6E_A&)[A>N_/X
M0>WYTL>Y= %0ZC\OV IZWJK7&7V?+:"9Z%248R*@6=;0O=X)OM&;4H;#'($E
M= &HEXLOH=GL%N],YZ!=_&E:/Y:+G96UE3HCV!\U6M6%%7*;@^IIZ5'I(<V4
M+@PXWCLT@/>=4!P;((Z0O@B=T&L/BWIL&YA20<K<WV(LFOK5*MHYEOII2R/.
MV^3%&Z)R,/5]1'TNB/W*1/U5_:G(6'^J4?WK^HB^V&V%5 I[WI2 89<KG;6
M7(PS^UM?>TWMW.7JOB23BVJ_3BW@O!IG<M@2-=8=XPI%8.^D/8^*P$9P@PJ?
M/%?XS$>O615X<ER?M]GG$I_WI9E<F?MUZ@(RC9WS,8] K0-\#%W8F(L'M4E"
MOP^MT#'-XF.H.FBE4]GUIFD<=6]QC/MGIP&[N]%NF</VN1A?ZQ_TN[V"53)<
M9AF^M*JR"'_E(OS53EZ]D4F /Y(*\T(%."5/2#%9?C]VZ!0E R'\J6^[#=\P
MG63\@IR=E*@YSFE!+UT 1'FI<4Z49:1\24C)!DBYWFYUDX&20D3AEN/D082/
M-5B&#E@9QWW;;+C".-?NMWHI_2LV.D<90Q?TT@7 FA>+H3QCZ$)CZ'\UA,>X
M#,P$7@I>TM)*8KF/W$@K<4G--Z++I=6_VR>ADR!UK==K=UKAM/BMT7+-O@<X
M;=?^G=I)U*_.: Y"K:,VNH"[Q^U.[_>,K@MZZ0*@T$M%5Y9M^<5&UTD-E0UM
M^?6TRN>Y3\EI?M@(L=@\3V;:K9.90%'M=/O)8=YK%Q_[S5 09A#AOYG?BW9G
M\(WP@V^..^VC?O.@\J-7(ZE0^1,\L].HCLPW?[E#TP)H7G.5=DPTX^,MNC)$
M+^BE"P!E+QBBGR[C($/TXT,TO1:BWS5:IN4:IIDA.E^:(7HAYL7H"OE_,T:_
M'(RFT]3H[G5Z=(HWN0+ ER<0G*CB\\JGE?65!,H5]!,F\"!.M7W<JYS'H\N'
M%VE<#L_D/IF.-:W01;N_FN%TB.,48YJQ>T$O70",>ZG8G6+0/JW_:P[0^UEV
M]<^/?Q5[YE>[U3XZ!5CKA?^_O:OM31L)PG]EU4I5*R&7EY! JSN))/0N#4H0
M<(KZ<;%-V#N_G5\:^7[]S>S:!(,AAH*QS7YI&MCLR^S.,[//[LY8'L+-6)WK
M)B6WMAK@5;PL83<+HTRR: G4KLIP<M,;2#A)P,D--=3 $#O= ;/^F>)57@DN
MI2Q: B6L,KC<]K])<$F RZT^8Q:3V%*!HB70P2ICRZ!W+;$E@2T#.M4-"2LE
M+UH"]:LRK Q'?0DK"5@9NCI>()8;HBH4+8$65A==BA#$^Q0CO[&A*V2(UV#O
M<$ZHRH^C;JE/"<^5]'%FNR;U\3R)>E &JR <C_"H2H4&*'RB$6:1. ,88/4G
M"3UE*EH"%4V!'IFMN.39BF%02ET,;/=TQ>WF?HEJM];:59I7V3*J[F_\BF4
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
MZ39VE>Y*P(J6DN'==/-J:VR-K.%2BQ.1Y//4UD+X,?=-X_?_ 5!+ P04
M"  %@6%2)'#-/=D4  #<YP  $0   &%P<&8M,C R,#$R,S$N>'-D[5WM<Z,X
MTO^^?P7G+\]>U3H!0UZ<VLR5DTSV4I5,4HEGY^[3E@RRK1LL>07DY?[ZIR7
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
M_8X6JDK1)BW%E3/ RZHK(X!>S\COAQ1OV?ZB ;4#'/7<>C41I0??,\U\<*:
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
M$2!U#11>CCO>EZOYK70-7-XC5&1U^7M((QE"\M8Z#)8#*]=(1(+A"R+#<F0
M$CI[3;8JCR'V&ZCPJHZYUCJMA[[[;\<&"M>_22.=E6 6@^>D+>!J9#RZ/PSC
M(:,X\ PJ0I.=I$.(_!8JP)J;N%I*;&+D?O7+]1&*+DUX<7TIN)],%F_R]OL(
M1Q92YM&BQP49WY D>+G,$L.OX'5F60,535S:*M0/Z<SQ$YC!TVB]G5W<?4WF
M".VVX3Y&(KH.-=2CZP ^$2>\1E%YB4([B6G<3>>!96G?IW6LJ,HF!O)RM^X1
M*B,3$+R2*!%OB(Q4$Y>R(U9'!HQKB-!D7^Q00K^!VK669J^Z+AM8N'4SD?>S
MO/SBYS!*4E.OO" <IR92V=)@5@IT28417$DM&EWUM8VB XO3OC.KU4<]K7-"
MU[5PM[A./&7@H$@VY1(TG]#!%,82;H ZRIBP^90YH0TDUGIUU@F[#[,/_FO9
M<_QT>5JXO.2;BW0<US(P)PF(7.ZV0JE8&P+AD5,T $9$V>0\W[$$?POYHKX0
MW/;B-55N&[^AG'Q^<]ZUW7SU%>9QC"2.<%Y022<"+,K2-@R(+W<1)^%4SFA'
M8IL-HT<I^P;R0M6Q555;34#T>K%8E:N WN3UU5N=AZ(2+EE!8N0%,A+)'".N
M])ZS"D%OF%$NM4EM/T;9D)J]/0&(^FNKNC_Y)A<:K@B[K)'7V3BA-"/&Y7+V
M,""J-4LD6G2'DA':M6EXO8.F;^&X7ZNEK:^**G:7/+\FZ3: ,Q1S)S1A0MAR
M>XI$8F@B(GB6?3)<Y-0"+UOH^1:R)K6Q4D,UU6T+.E](UVH>/Z'W]:9T2#N;
M3;N%=*0YM38I2@3EI;,A!EPVQ$RR- :,1>?,^98F9CMI!V9 O@OT5%98;2 A
M69>]ZC_B#Z49#LIBONZCLRX7W201)RUG7G/B>7!$2JN(]RX2PWRPX)E-;7H?
M]*+Z6TB>-(+?"=1<K]L\BJ7\5ZH1/OO)902Z6,['$8/0;@-OFNX^N/7)R_9C
M]RN+KL\OXC>?/ KA'0:TKW*&N!P)+6W4VA$M2IP1@9/  R766"K 8MRAFYC+
MT[)YPDHH7/Z4=SR0DJTEDB)H0F"4*,9#BLDZPYJD=HZMA'KB#I/#1?N&NL\6
M&'B*S*RSWO+,,W&JG".5:%)#%IDDJ42F@J>HFE0-'9N9?>*ND]\\1OMBH#5&
M-Y76,I84:,,(KK2RM"F2Y>Z+3"P#;Y77SIDFF:9C._\]\?T"WSQ&^V+@:3J.
M7_7)? =QAF_8Y+*1Q%V:*C7\O#?%2=I_[F*K5L?Q/L@=62M9+!C,(?+2GBJ0
M8+0DUBD/C%LF3)M[BOI072-$Z"JF[HSZ'%^K^?P"WZ"_^\D*1BPK@R8>"/X7
M4321EI,II9Q9&&JRHU$VV;W?B[KOQ@<]"($/KGZJKLB:]_W<E<!]OJ/S#AP(
MDF)$_\$[2IS.G'")O\E<)R&;O'F/$?;=>(Z]D%55?4V7UM]*/2C,;CIT'+%V
M/ABCQN*XF[#^;</OC_\2EGX\J<+_U5 MQ+"1S/[2>%]>J?G%++\??YR.\SB6
M,SF7G=Y*6WW\<"PN]Q'"V7/D&K(ZAHE3B:Z]")] E$\KT@^EDK.A0-?CGTZ<
MFQ@ZE3"?IS3N>N]-7D_S;'ZV[LAWM$VL,.OI!+\_\R<S%^O#D?[6N<CFVM@U
MZ0F-RKZLGTH7UQT'D*RNYO!]_ 1I-<%5^1^=&POI^6>8^X_PV^HLP!R'*Y_J
MXU&<AK#3Z;2J""ME/C9._&8]\9O5<K%$!"(//_G%.(ZHBE18P4BDO.N5C(&
ML)H$&G1PM'3V<RWBK8.H[!MU[IRLU"E!NI2&<<(PEQ2Q.5@B@RPUMB(0,,IF
M@<&1%4VRP_L2.*3\1CN<W8\ZFZBO6DIC)W4W ?-E50J7+G%N.6$*2E.ZA,&W
M2XDX SDF_%?$)L>J#B'RP%1'VXJ.@:"LCQY;(^WE>+(JA-T7R2A'KS@$( K*
M^9UR2,A%94E4()AS-D3?Y*3,@70V?0$?0,1:FSCH3 2W$C7'-?%2>I*<#.7B
MO'+YQ, 6O$':^2JH.^@=[*7*NDVRBN_N)^MRPXZXYTNT#V&U+*'NA]G-$9YU
MJ=CS^;SL=78;8:/$,LK&>Z(<X#+%62#6<(-KE5':41K0A+2 8'_2AY0%/R4N
M3ZSTIIGQ_2*;<N'<=#FY>)YFYT7(-Q^8SZ;X;;QD"V,[25WSB/ H:DX7!O87
MUJEB_OTIU90/2*VWJ!FB6K<)J[]:+]LWK=#8H!F[VBQ!&Q3&TX[OH[3S^* U
MA'P@Z?UE=7SBO&)*O$VR^U%9_N;GI<[I,_1X:0^?Y"0PV<U:?]ENFO/M^DS)
M6PSZX/FD<PO[;1P<,4L-Z?9EKE)2<@,9I0@,C>^_(;U.:$;1"I<WY[(U]E4W
ML;_-9NG+>#)Y/KW=MA0_LSJ#<AWZ2%C.1&+EXD#AB/34$*]4+ATK8LP<G:O0
MY.1G(W[Z!B='DK61G'63<L>H288'(KSOSLE8XK1!66M)N2XW[8DF!3GU61E2
M4#V$]^%^D//$X*D6H=?DX\XU6=Z"86"(YDP229DE-GA%P DP(KD$LLGQAD;\
M#"K-^[V_#\?B:) OQ?KEEMI83<L]<<S(TAXJ$!\T)8D:8QWDE&%(:^_>*\/3
M"O?U=.FG'\<EB!AQ8:T2:#Y9I.6@@G+$2:^)%T:EE%P(NDD"OQ$_W\$"7.M]
M:&EKCD50O6O[UE9YI (HK1TGBE).I&..A* "2<EK89.0#IJLF%<$#"E=/3#
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
M8 @:B'5&$)H@,,A4>]VD7.(V$7W]N3+&Z^EB.5]U':S]?'Z!)GR]Q$- <YS
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
M* 7TPBG-2'+D[@=44(377#3I8?L@LM/6M7Z):="<[ [ L_/)Q7A^#6!R7-E
MB[9*1Z91< 9 1&<5$934F-I$\Q]$]IUI3B=BVO0XNR?Z<\LT.*OR^&4ZF<T&
M3HHD;2*_/-LZ5,0)%LFP)#6PV2H04;1* ]X'[FDKV0$H7*-Y_=P?; @&;49M
M)*;"163%IUC;"-4S6@<F0":MC0LB-4DPVPOM=ZEW/1*X1NTZWU1L&J?V^Y@$
M-JH5=_]KZ=_\0O*NB2"OQHN!\,NA*=/AC'YT?;E7(]B$]\'H"+02;Y:%6I$+
MQ:*K]W/.HS!-DEY;+>BTE?<HU&"-?O=S.?(&/UY,TX?J^MP]$@9!:(R!.\8A
MD(V:T9,'[SPKSD5K"P>=&B6U/ 3MM'6N9VK6:$_G"X_[("Y#TXX[7CB7+& 4
M3!?IF/>HF4I999()6:SMKM+N0_;]ZL[NQ*Q1G<Z%XF<I5=^&4+VM&2JTX-GO
M'VONWK.:]C<;QA&^',[F Y?!<\L3 [OPE3FP0(X."T)8Y:! =$UVGRWQG;8:
MM2!IC3)U+CNGX_1K*NX K:6-SR%+/-4II_76PH"D75$B1Y54\4U,JQLH3ELQ
M]A?X&OH[A_;O)KM!G?<!HK!D+"FD#.0V6%Y;Z)B4+7B?L$GCJ@>R#'M)FRN9
M%A9DG?1I7$WD2\S7X:RQI!R,35KZ)I<.#Z7-=<B@7I:^&N-5%$4R[V+M>F4C
M"[5AO,H*T):BDFB;/?W8Q>)=$H,[R/+HBL67VE7=K<FX7MDLBB&M*X(7\H^T
MKJ]TB?1*1\_KGJ6$"#D9U;:5P#I41U(TOA/;FQ2GL]0;9 W?PK2JF]L&5,O:
M\;6H'KE\O#M[DU:B/YA>E)R*-B$R((.4:1,M"V - ^F*Y@J25TW2XPZH#]O6
MDA]('7:1>+.2\H5ALJJ!U<[%E!&9A:R9SDZS*(MGBHPE])H[WWS2UF,5&/?
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
M\76N6JVV(V>Y_J?V>OL$HQ4^$VSTI+FEU+J.@ Q2$.2V&+*6R>V)JDG#PX>
MG:"6],I%@\OSU]/)IV&-QSR?3)>=.Z=(1WE-0<;9P(J8<T1-2ZUI1[SH.F^"
M%#D6,@234($WZ8EU+ZH3U)+^6&@0J]^\^M]G6"Y&+X<%![2SU5QEQ<C;!E)C
MD,PKS$R CLF0PPVA22[.-N!.4&%ZYZ1!U\V;!R193K\3YMD@%4&6$[<L6T&H
MDD<Z'!%8, IYX%Z(-MW6UL,Y0=WH0>YWM:'SY+=?)I/\YW T>G'^$8;3Q00<
MVMVN)F)R'2V/PC&RFR73$6MBHU',Y"2L,D!&4Y-*N?MAG:!V],C#72WI/-+M
M*ZI7Y?;Z7XQ7!."HBN>J8OER10/DQ5J9+,.4"+ORF7F7 H,@I<R6)^.;%)=W
M 7V"&G8P#N_JW]XSY1:W.I=U\>]P>EZ+C]-TN.P2]'Z*BSO(@7,:%%A@7->Y
MU-QZYLG^8LI'B<79.@]CJ_NR!Q]U0GK10+9WF??=^X3>;8KP<@AQ.*H#%)?9
M/;5GS?MQG?L\2* UIS4S0?]A6AC+@N>%):V+R#73,;3I%KP3S!/2H@/P=%>K
M0F>M6LY,J5 N@3^=S.9GY]4R^^]%E'S9DVP@A#+*.LN@<,]TD,"BX9%91$\[
M8%(&FU3(;HWP%'6I"3MK(GK=NQBO1TIFVR '91(OG.4BZQ3>6%@(+M'?O,U:
M!CI,FP3S-D/Z?C1E5_FO48WN#<TW0GMZ,9W6DU4JX% 3JJNVDDTE-8/E;HBH
M8M$NZB:)Z \B^ZX491\VUNA+]RD8&Q'^-AFG%4BC/2@7"G/!D0AJM#&D7$<.
MAY $A.A5DYJ7;<!]5UJS)R=K%*=S''B+TW(0C</B2V2NQA"TR<B\-HK9&++,
M1D,Q31);M\#V_:C-WHRLT9K.4>"S_*D6%<_(R7_V^2..9SC@W$6.J; L4),Q
M!8;<>R.8-.C([1<&=).*E+M03E G.LI[C0IT#OV^_0!3? *SJJ7G%=*R6G Z
MI>4O<[N_?/V5U_"E?NOL3YCFQ1__Q-DBTVAAB(N!MR(D;0J3VB/))G$RM[)A
M12B9!(^FA";&3)^+.$&U>S2.URALYRCTV7@^S,/116T<_A;I_"5V<+8,5F)>
MMM \_W@Q7]5^70Z[(_B+-=+^>[$(: &$HDB<'B*]=MHR3]]C3G.;K0Q*^B97
M&KV@/T$5/3RK:W1S[PCUU8N6/F"^&.&K<H_ EF6(UA;4A)6IB 050JHWP9S)
ME!U'FY!KUV2KW!KBH5JPM=_^VK#RV$W9MI#?DR^_PG].ILN17XN"*DZ>B<;
M4JQID9@E V?I2T?B%<JAYTUNX7; ^&@CEQIIR=;)(=W8:I"J> _4KT"O5VQM
M ;=E_>^.>!^G[K<9_]OK66_D'8'.8=3>F108+[[6]R7#HG:1J5 @1 ,.#[ZA
M'4[7'BC2/595VX6S!BIVO=O:ZJ\_XR<<33XN)JQ.9O.KR=@6(@\&F2W.U=Q.
MPX*)F3P?93(7+EO7)-"Z-<*C<@2Z<WW;;FM"5(-JC\L$F14:(3C7NHY2U;5'
M3HB:@2!7))#G;'2R// F<=:;,$Y;-SJ(O,&6TM%[??)E_0<L=F;T('@ P8Q)
M=?8GR2N:G&L.%@J=BS?I&",5]ZWIQ$W\8]&&!A4IZY%=?Z>WP-?2!W@(X.,8
M_4>C$5MI:D<Z#[:_7L.IDRHB+\Q770V &I06SC)3BM:&WM?HFK@!CZ-N#]C]
MWZRV[<)B RTC 2S*XQ>=C$@0E]:E<M8H@$AV"B+3*0<&$LG6 .=\!L]=FWOS
M#7@.;]CU2]SM\KH>I-[ IE]<?;VC7UZHO3$<A*6G"ZBWM.02LQ 2&9E1*QN]
M*38UR2B^@>+4S::])=Z@KO+!*]/9O7>FBV6,\^L1C*^])MNLJ:5QU&)1CV10
M[:\KN]Z-'XKH%I&N%FN3)9M<<R*EXY(L $M>ME*<I9*"R5%;HYMLA=^.\CYD
MGAVW[N[";]/^&&_GD_3'HCSVS=O?5T:!+! 5:LDR9&"Z)EQZ83S+2I08@RNB
M-$DPNA?5X0VRQR=^8R>-KJSU:,K5:2UOJD06+UHH3J<ZN8T[%$RCS@P"UE*
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
M+!2VJ>/9B.CPEE13+F]'@GHAHD7W#)A#A!G.+N%(4 &L8!!T+:'U@D5?N\.
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
MN40?;(R;U3+N'SUV?ML9F<6'<C1O*> 6.7>7"Y+QY0()XNOIW_6KFUL<Y5"
M)&4OL985]K3UQEJXCY,(5 X D)JXS=LA/1W]&%C\#7:4MZ5,$VYJJ]$I%>L#
MLQPRTUQ&%I,73$:N4"?O2YOXCP?1/#UU.%[H#4Y/?D-8XN?Y17[SY>MB_NTJ
MG_ :FN R):G(MX_9D)(:<O4A*88E"^<2>8VN2;CN#DQ/3RN&(J#!6<NK^3JF
M(%4!OZG'PY]H ?N1.Q4%6)X2 [[VW6A7BSY%AM*2VBKOHFARTK8+U-/3CL$H
M&#!2>VW^/+2WU4#V'=H<7,Q*>\NXJMTM#!86BJ4]+]B Q15#7W2R-ON_^^DH
MQAC"OZ\KID'4SBOX.EW!Q?1_,'^8E]5?L,!?:H[Y?"VF5_/E:GE@$$_')P\0
M%7'(&#:B([22SFE>0N"@46, 64 K2)[L0<W#I/]H6O!P> !0K^>/QDF'\" H
MU@EOUS40-?<0M 4I<T)PHE@K.S)S;+10M[=L^]41047#O'@T1GM)8#-$*='4
M\]$:GCW];0)*91&$!ZY*X+HCU3UDT4('_H#% E;3;]B<]'MO&HWEW6/<7%N=
MR&!R2<$9C1P@9)6E!^]\25KDCK3>>^=Q9O6;&8T9/ZQ@M=ZA7P*9" D_?$:L
MAL*+G-?"@XM_BN,O7WZG;[[.EW#QK\7\\NN2'G%QF:>S3_4S\]EJ.KO$_)8,
MCO4=[:VJZ%$),)Y\RH0U0= KPZ(+@>SJ%)T1SGK3)+1MQ#$>7TSFAP[<'./=
MZ,(-SN6DJ"1TUH*!(LM)N]J5D0QL$FN6TJ&)O"I= V^G [CQC=MSU>#[Q6<&
MIK;!&>TNC+>"L\3$BD(^@0&&-EBF:55CT3K'5+ FB.*\:]/'I"O GVIXB!H>
M3/'@%T:WY;);+ _LFA.5-=<A>V:BDJS>W[.('AE8'24H[[7L>)5T%(Z?2OCP
M9=5XY#8XHVXOXJMP%*VU"-YZ5KA"IA/WS",Z9HM1'LENU+;)D>9(XQLKXNS<
M9\0YJ]6Y1+[=&>:K"U@NIV6:UJ.ZZAGAC=><<V9*@-J?5C,OC&4IERQXB#2L
M)G[%'ERGBG@[2U7:C.(=D-(&5]([X-VTH>D L&6HW%Z$IPF4&Y37[CIS!"DG
MT1Y"E92HK06+TDP+;5GDD?8,*X*5MJBBFGCP)]*:/>%QIU6:/ERT498'5M@K
MV/23\O)[[71Z<P>O59 \:1:EC35&F3,0Q+0 '8*%XKUJ4IN\#\CQO9Z!.;ZO
M06T(:G!^TW[K7T](8Q3M^<4QKI,E<>;$/!?(K)"96VTX6<*/TS?Y:;?MMMO.
M4,%:9/'U ?P'?+F)H>@">S2CL#ONTYB*YZA*NXR'QGK0V@[M S]D@I\]"[P$
MLK=D8N!H- 8QFVB@J-"DM\59J>\>F_4I:V\/^H<^^/_]^RM8WAA3&!VXS&M_
MH% 3%I(GJ\T71@(1M650<IO9C%N.\6\_]<3F:2L>YD,(<:M%>H)8N]N74;_^
M_96F9?M(DAWO'"VFI.NX-Z)+>,3$5>"F5M,N$0.B!&]18DHEF*Y!0]TDT(_O
M-[,5S#Y-R?2\*C%-KX%9_M=\GO^:_G-TWX?-/4\<@*L^F#<+>46A)!8-GBL=
M? !;L B%,H( %^*D._HAY7QXS&2GYS:7>8<826\"K6B8BY=!6UO+/R@,$85,
M(EM3]DC^V-C(W4]_766"OTV_8=[\X!'KVM'O;,Y;WW%O<&I5L472O!'2:N"^
M5OSP*F4>=0Z@_1Y..[S]Z.X"VU[PS\6@YT6'"(GE)!7MY#ZS&# P:Y-W21>9
M2VR2W]@!W #M%;:]XZJB&$T\87VA(6?GR #)A4$M\FJ-T)B*M!";'!;M W:"
M=GE#Z\H#712&XZ)%"O!V?+?*@]VV028RZVRE)HA!<*:A  /0R- !^"QE#(U2
M@WM#?5[Z- 1?;9J];$-<JX-9DH2*QC"O0V:Z@&,!BV(\)U3)1RV4'UF;3E*A
M[92:TY>'!N>[V]']N<1R>?';M.!$":.-4(6E%$B342$+TM72TI @ SH-36IV
M=0'WK#3F0$Z:UGO;(8ZK2Q9,T41?+ L6(].N2 81 G,"14"O1,8F]4>[0QPK
M J^YYC1BY5RBWW8,ZN7WW^'_S!?K*^_U<;&4UFN=$RM8J_?ZFCZ0'#!%8TXI
M!BLV:^@TW]\V,9Z^#MRP6M)]XSN*K7%MI7^ WCJ/[@*WY>UF3[PG:U'6AO_N
M>C88>6>@<Z[F.L<LF+&UV+.@#3\:<BR*=]'K"+3ICWUR,IZN[>\O=I:JUH>S
M%FW%+I>K^1=<O,>+JRNUS].O/QH.)>F"T[&&OHCJG0JR'PW4\"Q4(0=$:-)C
M8 >FLS+EC^=S,]ML(#(&/(SZ43 O_G-)FJ/C(H1Z5A$=T[6):<@R,$Y>:9*6
M"RTVXBIWU!Z,)[QK'H/;8P4X=,S 1TR?9_.+^:?O-\WH%!END /+VH7:R$*Q
MB,$S$6+P3LO:,ZH3FYM/?L)\'B7$!D<T'Q>0\0LL_EUK":V_J:/\T5):IH2)
MQH4ZT=*AD,!EVMVXX])SY$Y $S]G)ZJGJ1W#$S+@P<Q:==_!8C5[>(OAREH7
MK639Q\(TUD80VD<&!J7@)@N[V8]CRTJP_1U/D_4A!3M@M;<;$?PQK^%W7W&%
M+SXM\$YM,04R ?>)!2=\#?!/+ JE&(*I8A#.E"8';]LA/4T-&9B*K67>CDF&
M6.&BMFY;#_+V:N4@I^@]371/1J<.F3.@<3)EB^;UN!%,$S=@*Z*GK2+#$'%?
M0^S1M>QA=;O J8\^)P\,16TF8[1@40K%N#%!:X>!%K866G$'Q=/6A,,%?I]]
M=W3=Z?J<MXMWBWF^JFGZ$M*_R0+^4=#4&BTSTN[F,]/>9185 %,1C?2)AV":
MV)B[83UM_1B0DOL*XP]5F.5B-7E/ []JU! ,>.>L8$$(34BB9K'$6*^J5#W2
M,#)VR=VEA][2"?IN4Q_NO/6)WIH<+MD!7<X?(&ZJTW: T>.>HSO1P\_P_?<6
M1S"PR>$1XAOP2&@3CC<BR&(-2RXX6HYH30+)(^,^> W1B>RZ[.KGP>*6&X'A
M2>PCM8')^V^<?OI<P\J^X0)^ #*A]N 2AGP)2X!TY"P4 N1K#5Q,(%TGXZP3
MC0\B&&_C/8J+^9""'"<?:'<$][!Y0 >_JWF<_(%Y/S+*9 (48WG2F'S(1BM?
MN.?.H"QA3WS\^/D^-W\W(W'S!<V9VSFB>W2YH(+TW(I,]JN.26!.F6:X$&!*
MWD/7CK'UX^A%2HM+S+^2N.??$:^I/XB-;8\:0.Z=4&Y6SXZ92[2.9D'6EJ3*
M(]:NT%(!S8?H)AWP#B++PQ.N=C^PG5R[E*$G_PU+PABYUSEQ;Z2IZXQV#DN0
M6Z5[;&[5EL<>L8CL>6([*7=9)KP)P9N$3B6KG30^@#)%AE(P*#1VFYB/7A?6
M73L.DN?UOQQ ;@]AV)"/\V3#Q.Q$BDDK+J#61U96EZPLMT9,[J,Y1 Z'3^$[
M_WXPF728H+Q(3,JC2CJ1.+3'7&P&&ZSR5OL;R1P['Z^><L3TN_N P234*:50
M6B%I7R"Q: W*@T!)/E/*$HPGF4WN/NK8EF:TC>/ZB;_@,BVF7Z^'=AWXS,GN
M)GM ,F52O4@+O@;!!&94Q&))OU5IDM^T!]?QG=SJXZ_+&LP^K=_S$1=?WI97
M\]EJ 6DU*3H@NJ08U&AO[: V/'62.5>\Y%Q88YN$]NV'-OX9ZY!:<K^GVZ!4
M-$@+K CGB[L(W^,,_X*+"G1"ZQ;:) USW-?@(K0L8.V4*SWR%+P([>;(#EQ/
M3TV&(J%%D] [P&JYBHFWT@&4Q)('P[2L92%M3$R($$PF:U^J)K>X]Z$\+4TX
M4M0-@L'^"Q;3:K#\ \AH;W(!8"%E2RL6#1)**,QZ+."]XUPVN:N]A^1I47^<
MH!MDW*V!O)AE6HE6<''MYDPL#V3[<\MB#(IICJ2.D4#Q',D7Y9#!->D^\B":
MIZ4!QPM\Z.:>#]DO'_YS"0M\C;AZ6]8_R"\6"!/$&G!$FU* K&JMU]I'!QQS
M"DP6HEB>\C['I.<[GP;[+07=(++K+L;?:,F:7DQ7WR?.NR0%UTSD2+""$"P$
M#X0M$#J0UJLF*=M;\#P-W1A2Z UBN!X>\E5(0LPY0%'(4N T7*G)9DU&L:2+
M5]Z4H'.3<MD[,(V5==W>HSQ>Y*?.L+Y[;8XR(G>:LQ1)>[6,M8&U!J8L6)]$
M245V.8]X''$]@U'X8"!/'U$V#/WH N.)!O+T8F!+#,@AXFO(9A YUR;D3-A4
M2^L[0W!D9-))F3)&Q467.F+GP6*G0)XA2.PCM8')^YTD]>7RRTT^613:A\09
MVAK :9QCWAK'C.?2BR*,23@4?7?>?+K G5ZRGP\AN $/9]= X.];0(25*D%5
MQY+(T).8&5G_-2(I57,!46\F4QW!X.TW/T(&#Q9<@Z/3=XLY60:K[^\N8%:+
MD__ZG\OINNCOR^\?Z1'KI<8E+U4VB4&2F>EL/8NV>%9,]"[78Y[4Y#*F [:G
M8B*UHJ/!>>M6B!7@39A_!X@MJ\%TP'B:"C"#\]M5?XXD9\R5YQ94@XYC+IH6
MUE@['*3,(N2:.**#S8I+;--)^F3ZLZ>JRSFH3Q].AJ[F\'Z:/L,B+VFIQ;_A
M)E4L27#%Y,2DK#?4J!4#'X%Q2*9PE60(W4HZ//CX\0_J!F=A/J@(QPG\OHJS
MN4DQFI?:CWP^JPF"\ZO#9CPZWKOO*P8+1#IP5)OAE@(3SUZ+F(*VH'W19/,C
MCZ7D[&*:'#&^X[BZ]E'6/_X*W]=IWW\2\L5 D6&]W]2 N4/&N$&@=MYHA"AM
MSMIB#A$D3R "%N\DFGL$=GQGVZ T5-&0Q^*9*O2'!NMJ+A%M-T)(*Y.R7#:I
MH7""H+0?]QCOKH7]RR7^021^_ LOON'O\]GJ\W*2E'8QI,2<6U]W:<U"I)6T
MAE4"=SRJ3BF?@X2J=0%\?A=/?32J2P#;X+0U"FOK@OM_(RP^_C6?H 5GDHI,
M25/KH3G.0D#-;))D"2AI272GU+)KG,]3N0XAJ8%'U0LN*0E.M%%1R"A8*8[,
MOA1\+<+"&0::&DZ#2=BDC$%OI,]8KWH3U>#,IP_@U_/+Q43'+&T2A:$HCNGU
ME3]F9,YDYSUW(>LFX9=]@3Y?O>I-4Y, OAYXI]]H&J!PV9="6W4M\9]JOT)I
M(O.9O%4OC8_B]&I%0)^Q6O6EJ4$!N*YX7Y05+GZ !I54%E(R:5 R;8UDH)UC
MO'!E90"7TTEUZP[:YZE@AQ/6(,ZP*^B)\(X'FA(L^5HL5=(B&T*ML8!19_I5
M%)N!I^,JUO/4I5ZT- M-W(+SSUFN#8 O9RO,O_Z=Z*,OOM3O)BB3B44H9F1(
M!-IZ1ILV,EE00@@R>C_^(K4-[3-2K$$(&[",W=:8[1^(_ZA1VZ\N%PN:#^]J
MG8_:GXVKF)1WK%A=\SE<8;4Z A,NV.RM-1$W+OI[A,CO>O/3T)3V0A^P;MUU
M8>\9S%9OOGQ=S+^MPV9?7%S,_ZK-ZB=<*X'9>^9=J5W8R#\(J19A3.B#055#
MBSKIPO9W/"'6!Q+D?7Y#HW2(:R6<*$Q"QP(L%2MH?:*MT$>)#"P:""5J'5.+
M#64WK*>A&0TH>.#4<*"CZ(=CF1PO2B(/S*D:3)" 1IRS8RAK/^T84O8-\_#/
M.DGB>%OB>)&?.DGB9CPOX:*N=1\^(ZY^JY^N?-1@%.,+(FC)%&I=<\$,(ZD)
MQE.2C@83"N\2V-M;?[8!.L=XP5Z$SQL(OL%5Q$.X;B)7.B!K&1NX'=II0@*'
MH;"#7APA_W$U)$7A4JU1Z@S2RBH+KP<[@94HC0&4W)8F3N[8FK$GV&]LQ>@C
M]B;QH/@5IOFF6MF+67Z[^HR+:ROINJ;X=6< KSR9U84%7F_#0E;,%QOI6P\D
M!!4*JC9AH5TACF_ #D7LO8C0)JR,%$,XGWU:X>+++Q@WEK*.T6:W__T0,61;
M\6Q&ABFM9:BEV7@AR]+$: 1)-F2;A<!@)MN0'2Z?(\K9W7_*P++J4GM2!5>L
M1+31:A-D+*'FG1<I.;?!J<ENE(?+[9A@Q@<>,[#DNH0A%A%2M&1FAB@U3R6B
MUXB.VR2\\;4JX ,//&ZMKT]Z,UN2:U*]CW]\JJALK4MN&%>J=OKFM)ADP9E)
MJ,G?BM%BDYU_"YZC/6MZT-OR:H%YNGH-:>WU7V=_O9PO%O._IK-/K^ K_6;U
M?9)#<8$$0!9CK:$5BV6>1\T\Z&"1U@$NFE0MZ@-R_&UM"$VYYWVWHF7 .,&K
ML^1;$^_5_-OZC/$]DC"FZ_XGRU]?OOGXRXN/\W4/)?KY]2[]OF[^$X1<P65"
M:FG7)S^216<,TUQ#J%'] ;NU+3T&Q>-6F'%)&#I99A_PUY=U$WA#?\05YADN
MEQ_G5X.YPKZ^>XB(]2 BD#VGR)2S.C >T21E0JWL-(@"[0'R#'1H2"H&#/_K
MA/W%;'8)%[]@6M33K3>S]_B?RRFMK;_A56N)JQ$$K0MP)9DLQ==P:YH2@M;2
MK+R2)6@I8\>KQ2'@/ .5&IZ6 0, .XW@8<0:G!9>>H:!TSKJ:5,&&3VS@<<D
M<@C:=KN7/.CUST!QCA?[X$7^]JV>%_/YXMW%Y5+R=[A()*:WY>-G_'#YY6U9
M?<97\R^1Q);?7JZ6M5\&67?O%M-9FGZ%BZLHC>6$)Y!*>L\$+:E,2Y485"NO
MN)+K];Q,U@^SUQV-]1FHX,B$#A@<V&UI3C3#EFO2WETNTF=:GPE_PO6P7\\7
M_'^9-[.=ZS9]2,AU(A/)9SK/K^<UW(#D0%)Z5>_]?H$53E!Y*" $@U"('Z7K
M5[G05^39"R=CRL,LE2,-Z!EH_CFJ1H/@Q[MR?0G+Z?+#5QI5?CN[J3),@T$Q
MJ1?L$;1C"0VOP5' (-4 "5^,62=49=W^0&@[P,>MDDWI&#":<=?!#6T&7Z:K
MBOLUXO5N07-ADHM7-M;[#A"Q%DA0+$JNF7)29)*&$*Y-7X#N&)^&\K0B9>A8
MQ[M+[RU\?RX)6DVS6WZ>7]!ZN5#N?YGU)'@W)SDOMPU&&/"0 S#T2)-!&,-B
M#2#/*4NKLPH%P@';Z_'('K=>G9ZL!E&8#TV2/V>72\PW!\U;IPSHK(.R##'5
MZ, <6>UOQ:0J4EJA4'2J/#O(.M8)\>/6OG$):Q'.>5<:KV"Q^$[6WW4Z0C$J
M%J2U5ZD8JK6GR.Z3M1U[3C$4M#DVB<?;!>II*,Q@8G] )XZ.K;D+[L\97'5V
MQ?S+==;*NP5^F5Y^>3'+ZX\NEY<UF*0V^5C^@:L)5QQ0A\"BJ+&NIF@6T$@6
M7(2<+ ?5IJ?&D;B?HF:U)>\!Y3NZ>,!=_%<QK[P$X<@(9 Z\K?)0C.:#8$5+
M48J.9"$U23MX ,M8\>3M5:._:,\^?IQGS\$)Q9PQB727.^:3]<RBSB*[H TT
M\>+.+7[\:**[QHWW$?BX4<%=D/V,&^]+8??PX$/D/ZZ&B%2T+=XS5ROE:)4%
M;7DR,"D2!&%#%+%)9;K'$C?>2#'ZB+U%\\<:CWPG$!FYTMR0H1U,UDSG6HC$
MI,P4=P*-35C:'!K?0W)64>"]:-K,8#Q*QBW*Y]V.YKVI?,RYJ\SXJM7UCCHC
M\XB2F>BT3?1#OAD:,-!1R0-@GHJA<+2@6U0CV\!TLT%U0-720'@8UFF,@^-I
MVZ,'1\B\1>7#A]&1[U2<D(X53-7S):\*9*P)*CXY;K5R:90%X83&P%B*T$?4
M+13@UG'M]0X%1A<PM&I&-*X&W-IZ3<EIZ0-P)HJ2L8D5<!_*":H9#$#2C@/Q
M R3<P :X>SB_5FQ(7L2L.)- VJU=B:38V3-:@$!F9[GW3<XI[T-Y*OO_D4)N
M4#3R+J)KS>Z"J>7>_Q"HT^S\QQ*VD_\CI-U@T7\0FZ2EC18>Q82K??&T!0:"
M.$O>&L6#2FB:M'4=3P/V[/AC*$ ?(3<@_@.F2X)5U[KKK8B+4*O7)J80L=;0
MH$TMU50)(1)B!EYRDW/B>TC&W^N/)V@^I'0;;/3O\=O\XEM-RKN;LG<%3A9K
M3'&:F76"'FK!R*!%!ADT)Y29+)X6U.]$]0348#BI-U@!;H<EKI>XB %-K3:<
M=8@T4FU86,-3TMF</)C49-G?!/)4[+ZC!-R@IO-M/#?>3 =$+6V^^Y!.8_$=
M1]4.WH^0<^,I?XTL2!^DADA>K(XU-[O4K@B&>8@RBA@E%ON8F=]CZ;4FOH]X
M&Q#^&NDY<%%S8Y>_EH)I-?V&'_Z"KQ7B]384G?56I4RSA)C2&3R#E!*3.MN<
MI9:$L84&=, VO@EP+(7SMO)O<PV4Y[-UYGV$V;_?$DHR5BJ^W]Z\?/O^IDEV
MPL"%(*<G>7)_N% L)C"T#Z+3V2@=<IO>25W0/7HU&9Z# =>2'SV[U^LCO02-
M4\@$UI+OW "+3CCFO).\6%=4IVJFG9J4_WCK8[<(#Q?A@'F5F[W7N\#H8?MU
M9W3X2;O?T#N"@4T.CQ!?BUEY#<=+S7V*MKZ_7B1$SH)VAI&JDC^9/>TR7:YJ
MSH/%+4;;\"3VD=K Y%TW(KT&D@VW/FO-A -=[X$<\RB1*<P\"VXYABXG,)WH
MN_/F\?;.HV0_'T)P UI/:R!7]:YN=F==C#19TG!XJCW#:>M?1_,4J6HG'6\[
MG9YT8_#VFQ\A@P<+;NL<;%;S\L/EER^P^#XO5S\<LE[AKD</7,.P\R@VZAH&
M"4BT>@<.M7'9A^)%25R \=:D-.GZDC:U#FF%#U(9Q:3WII;]KYUA#.DC9FNE
M+]69;Y\"\=M0M0YWYC^AUCXH%1C'1).M<,>B3X)Y04X!5A]RC#3^<TT[ZZ,)
MO=+.^HB]@7?^"Y(K2+[@Z^GL3D)2*L9(B8$9<C<)%B!YFT$R'EW6*+*RJ<FA
MS18\3T41CA=VH\B\C]=K[(0K6HB-#.1TVAJ 7LC>R;0%JV!]$5P45=JTCK\%
MXFFP?;!8&X3C/G30()/AKG:RR3I&IIT@<%PJTCJIHLP)O1JAD.]9Y/<-M[KW
M%^VYY/<]$)/",S>DK\1@"K:N2Z$>/B(9TA&M<Q#)17Y^H7J]R-T?JM='R&,%
M:'7!]&Q#]7H1UB52ZQ!ICZ8)P8/F9) @06%:.<Z  [G@M>\!EV2YMHG9..=0
MO>$5H(>01PG5\\E$)5SMNRLR62O.L)!-9DX7"<&8['B3@C;G&JK7BZ"]H7I]
MI#M67IXA+\.($FN'4\5TYIY!;74(:+33*H*0K>Y?SSHO[YC-_FA!CY>7UP75
ML\[+ZT5;MW2L0V0^7EY>2B8($32S6,AA+2XS\-4OHH6/:P(XTH)P;GEY#12A
MCZA'RLMS18#6F7%C M.ICL_DR(PR%K6(TNHF07OWH9Q-7EXODCKDY?60\%8;
M8-!+J7]JY<$LOYK/:C-DG*7I80W'=CQM@*NGKE@W;IN$2B[;%%)41EO0P3L#
MTMMLM P<[*0;ZJ'D^B+G]=CAXLVLS!=?KBI!''[W=^";FO+1?8P;7'$D9RH%
MK,4JM$$7T&(-@,(@O9,9=W"U\YW';I;+Y9UW_7.&""H8%[QF85VNFR?'0 $M
M$$*5HH)TW+3)9=X*Z:A2O.\6<S*=5]]_M$)_05*&Y25<K+Z3D7RYJ#<8[W#Q
MAMZ9:YO)6:;OWN.R?E?O-J[JG?\V)9(FM&Z26Z,X&5\U.4E))"E5HSIG7^C%
M/%B^3[L'1W6*K640[;E3A?=D/#5)(IO>('Z/M!JL2^S32I.^7_\&\_OI\M^W
M"KDB.>:N]DD-,1!@KY!%I0N+W)8$T:NHFUQ3]D;ZZ)5M'(Z:F+?7$^/U?/'J
M J9?:H/<ZR_R_[E<KK>0ZX9P-Y/I9@+]^+>3DA$XET#00=0P,$7XE2/S+R0M
MP4CZ0!N+> #T3T;YQN=RP".8[LOU+_AUOIRNEO\?7N3_GJX^?_P\7>1W0/_L
M!4GUX@)6ZZ2/^>(#+KY-$RXG!1)/V42&4M:<7T^SK="X$@VS6&4BAVYM9-K@
M>_0*>"[<-:C5<5=2WW]=KJ9D,9._^HY^,8T76#\PT<J9(K-D&$MD6B;+H-H(
MKF IJ7 :0J,R31W0/7KU:L=%@S3?#9 O4EK0%'CQ([#MO^#B$B>>E%F+I)E,
MD3-=E&%0O&5.:RY2\3*))K$#G= ]5849@(L!$X)N0+Z#[W5?7M*B]QM^@HL/
MN%I=!:\L)XI[+,HARVI]#@:* <? ),K@8Z!?&]5"379@>C+*,93<[ZO$T<W%
M[HWXZK8M8@)P,M?F+XEI)%<AJ"*KHF*0M,9!FY+S#\,9*RIME+7A(!F?2VS:
MUG+)R6K.:[\.,NA#;>0"S(MJRBNM:)E+6#9;%C_-VO-#<-VU_'P?F8];7+P+
MLI_EY_M2V+W*^"'R'U=#G$O6QFQ8L*JFN(-E,9/#95-)!L&@XDTN-A]+^?E&
MBM%'[*W*S[^Z7"S60=]7SCNMD==7L46)['2@]9$[ I>"9F0!92:X(-<["JU2
MNU+TVU"=55GZ7O0]5)9^$-DWN'"X#>Y.Z?R FO9.JYA1=<08/:/OR3SV7%5H
MJF 30W0;H">I#@=+O$4,[&5<XG\NZ_'QMQK\=Q/NXP&C*5PS[61A&I)@X&NL
MIC,QT'"--6V*5CZ,YPG9ET-(O$& Y .PKM6^"["6UN569*<Q+@?A;[].'"'\
M<9:)FVA.*TR(,;%(NL]T3I'Y8 3+GCL4(=D@FNP8(VO%'L-R7*7H(_/VRG"]
MD0DH7 FR8;Q+M8^HL3141!:3S;0F0HYM#KX?1#.^W3 06[MUX !1CQ-$^6$U
M3_^N7:]QL?SU/Y?U[OV 0+X'GC) D-X^;!L!>#86P94/(L:LA?,! GJGI%,^
M%V/C9#?*8^7VXLL:#,SR>URN8(7Y%2Y6TS*E68GS\F:6YHNO\\6Q,9/#O+@)
M.T=+8(/0+$*)UA6?R9L/'(A&ZT%Y[XU16>8'"#T$PI%)B!>P7+XM:RC_'(-[
M32 #3\S+(&MEPAIO;P6C[RS]+Z0)35ST!]$<G6<)7Z<KN/B3M&3YXG+U>;ZH
MC8(G(A;M"Y+O$WVUI='1.I8#0S3D<''.:?]L,L8'X9P@\>YHYN_E6AXOZ!8M
M<>9?OLQGZV%^^ P+O V-\Y(P:,>*)%=*:U6CY(1BF7LC. \B\R9&Y Y,3T(1
M!A)Y QORW>*Z)LS#Z PZLIF*88IS6XUG2[9.B"PGJ'AE)-NYR?7X3EA/02<&
M%'R#4XA;&OL.%F\7']:;[SJ:XQTNUF@GR8J LA:*S3DS74QA0?-(=K 5V6?I
M0+=II+4?VU-0D*$I:!"Z]R%]QGQY@=?C?OE]+86KHSFEK1 &B4 )P+2LU4L#
M[7<QR.*RC<"QR4W7#DQCQ5,,KPM#"?I<XBG6NKR.E5Z;^:3J7^>S&A>T/JQ1
ML=:+KT7&JWRT-XK6/I])4@H3I!B,;V*)[D1UJI/OP:C?5*G!*&A@E6Q@NC[
MZ0*JY0'X@ZA.=/@]''OS5J(?32\D>4PJ*\EBY(KIP#U]52Q+!KAQ)>64F\1P
MCJ@/^XZ]1U:'/A)O42GJ']/HIEB]M]IG,H106C*7(S?,IR18233$I+(WO$DM
MP7M(QK<\!V!HN^5Y@'@;'%G<]96N,6&)4A5(3$10%9-BL1;"B-H%S^M=/C2Y
MYW@(S%-@_6@AM[CANEG7;IO45VL:.3Z0:U%UX&3Z1!UJ:?;(HM&.6U&B;W3=
MN0W1D[4/CQ)]BZ.)6WANK),.B)J6B[P'Z<16X7&<;6X'PPB\A1UP'YDV K2A
M=<\I7PB9<ZQF?S-)N++T,8!J<F YE@IT-01;:T ?.3>S ->X7MQL54(G E2;
M:X!AA"^S(+)G.:$N5AL791OF[T$Y[>GC(00]:  >+-UFEU9K1"]O C:M J6-
M9%K5QCB:MCD(I-\2-2 WM61(DP/&^U">$M^'2'><IC7WHP.N%/26MP+K8@PT
MB%L_>X_?Z!_@U2W+UXOI,<UMAH;0)&QC0*EL!' HQ8M5B6/)L4;D1%E;D-'&
M JJ6YM$/!' <!Z9%*(?BG#8_$9C.BO9!8Q(+D3Q;Z:RJV25&ZR9U)0<-Y5B7
M@[@EP3\NZZ1]6_YKOL+EC]LAXWP)T@+C(3NF+=*6'[)@CI,S:)/FF&&?RG=Z
MT[E<M_7A]DYEC4%%.>#V=PUN5N<'R?-ZP#<0KRZ-WRR7E]7;^_,K+>$_/CH)
M/!9ODV494F8:R>T+0-\*EX5-F#GZT)'\ U[_!#2BM= 'M(H/1_S+)7Z<?US
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
MC3K1=^?-X^VP1\E^/H3@!MY*?X>_;P$Q0<3 +>WIW@FFD5L&QF664$F?4[;
MNQR>=&/P]IL?(8,'"ZZ!"W-=1&:]I$347$% YCT/3"=1F[6"(C/>E1BMJ&V7
M6O@OMS \3P/I6#(:G'-=0[GV [J :7F6<0?-:8XR#N;F88Z/$&R[5> :5/:T
MIYCL:BL7)!66A?PS+YF,5B72:H/8Y!QC!);W'&.T(;F//,>+>%PO6;2JT<KW
M=G:SIP5,-"[:B%S4F6E>+(NULC //K@@,4ON6E#? ^/XAR)'L-DM./%H*L:K
M3G@+ZL>_YM=0E2JA")&)6$Y6:"ID"4FC&2:$6%3A4;=);NF.\6EKS6%4G&2M
M^4@*\$/%DX:2HV+96<,T2,$ O&9>2I]DX(Z+,:OC/HSRB6O.@71LO3\;O[SV
M599AZ[+:=]\R5CGM'6/;**.=34)4W$1>DM:.QVR(-J=,-,XX"=W*:-]]W\G+
M9Z,,SI1 +E1VM)J!-S6PDK,:Y6I<\C[K)M''QT,_WWHB/[)S;W>P$\$;P:-A
M$@T9NQ(E"Z10C%MN8Q H++9INC7J,,\PJ&;8.7""/MZ':M$Y%=3N/MH_+M<[
M)8_)<FEK>RI;8R))L;U+G*DDK;7.Y7.KMMUWA(]HIHR@JN//J@/T[!2YDD-5
MXM?9)Z^@U'9O9.-&0!;(ZF3"&5N\M1'$(]M^'FT/AZ<TG8[0L@;Q@:-5SXUH
M)808ZU5@8KKD6KE+.UH_K,)@G<IVS..8YUQW^2G-IB.T[%%5,;_NFWUKJ$%8
M*6,RS$D1J@E>H]B58)@*MP4M2O?(MJ=[8_PYITXRIX[3M0;WON/9MMX4YX4O
M3&9B14?A6'2T&ZL0=<K)(+HF/9-/Y$.=)15[V\+?GD'61*53L4SX6IM<!,U"
M4HYY(U60J+603<)#SDP.CVBE?#2'2,WT\%$YQ=W%,8E>9I6+K$LF9]J$R (/
MCED3K"A%^O#83/SN@W]$$_ <9L 9SN9>ZONHIO#=$X?]@G#:%2X!F(JUP&DF
MDR_D6)@1-:G5A #\D>VI/27P<S*?YV1NJ<B/^&QMOR",#NB]"BPF+IFVD6PN
M$363(F+(( 3?3 P\]QG=4P(_9_1YSNB6BOP8S_<N%[C<+P5;E(W">Q8ESR0%
M+1@4I6LH9L@A9I3PR&YZ^PS_YUP^S[G<3(4?YXGB?AEDI[@20C)C$CD<A1P.
MKVUA%HIU7B>GG^[9U?DT04@&I9-2L(2Z3J:T;H'"62A>\N(\U[K-D>\S;()P
MU(G?21@_SR8(/I"E(Z1CR5A!CDV]Y@P:&%?<J\3!TQ!;Z.P3:X+02Q%V-D'H
M0\ACJ1_?94P_FR#T;X+02U?&*"1_"-&/18F+(K,R:<FL4DAC,XGYXH$<QE"B
MU8%L+?V\E;=7$X2ST]T^_#;0V8?+07+:0&PI9-=$,N>U]X6DY#QS1I2DA++<
M-TE8?<I%.WL1W:EH9Q^6MB8&#)I9]F9&7^)'^!L/2AF[_<\'R 7;BF8CR<N9
M)*+6X,AJTLZA+R6:Z 7YKZ$4)2=;<!TLF[7Q=JR$KA\RK)P>0K8A+2FDYI8<
M'AY!AV2C< A8<O7V!0@^V8GQ8)G] 33]5M-O>$1*XJ['#2O'W6@W)&I%L"EG
MF5,)VB</$K41AD,(6F41)[L>?-SR?_7D#RM873G <+&N-OT9<44KV(N<UV*
MBU^FR^HLUJ.QE]_IFZ_S)5S\:S&__+JD1UQ<YII92Y\AWW$ZN\3\EMRA]:*Y
M_,=W#A@C%\:R$%1@.AC#//C +%[U$E?*-CFG&'&,Q^[&/XB^[K_^$F>DBZN)
MLR+R$H 5'NJM@0#F=4J,0^%"9!%$:!*8L@7/^#ORN>KIYD8]!($-<O@>'')%
M60JFU=ORX.\GIJCB"THF:4%BVJ!@@%HS'E5VW* W*;70NH/0_M3);3K9GOP&
M?LD^T%?"_VV^7+XF8FZDNFTPH1ACZA&9+9&\/NF1Q6(C"YY$5RS2K\,I-+G7
M*'YJ^*$:WDY9&@3=$-@%DE_Y"U[]_6;V"Q9<+&J4P0\S<)+ I'7UK)" O$G,
MH184@74.J[:RF(Q-FB1T0O=34W?8!P.3VR!(Y'K0LT]UQKPBA^-[N;JW7TXL
MU](Z7VJ?HMIY) 06N?;,RHPNE43[0I/2(=LA_=2U;;HV$(T-@A=(RU^1RD]7
MMU&]^#*_G*TF,9@8G,[,.3!,*^#,NYR81Z%=4!*D:]+T=P>FGRJV3<6&(O*^
MCID!76GX,IVM1_T.26:K*=9^DV]F*R2QK5ZDM"#)3'3R7%JI6*DKK0XD >\P
ML1A%EK3IHX8FL2P]<?[4Q0ZN]^"$W]=/.XQ^MA3K58B *6A2])FA2&1+ $@6
M@S<LA1 %S^3-^29._$CC&RMVZ''-@O-2JW,)0;HSS%<7L%Q.RS1=W>W5NV'!
M73&URJ<S0C+MBF90@F3%U RJ9+FW30H2[,%UJC"ELU2E^Y[_8)2V.<7:!N^F
ME6,'@"UCE/8B/$W T:"\=M>9(T@YB?;$'(VP*C.:);7\1HX,N$2&RD6>G78(
M34Z!3J0U>R)]3JLT?;@8Z\!\>06;?E)>?O\ %S<UB:5+&;6U]?[)D?]/MD:L
MWV((F+P/4;9Q=OJ '-_3&9CC+H?40Q#4X+ZP_=9_%8PGH^>.(W/<U&(U1I.A
M&PI3'C3GM/G+T*5;X!GZ)C_MMMUVVQDJ6(.KG%Z ;\<S=X ]FE'8'?=I3,5S
M5*5=QD-C/6AMA_: 'R*75O#">*SP;4D,?/&,UHR2DQ<>3)/0];-2WSTVZQ/6
MWC[T#]UE^O?OKV#YHZMJ< ;!9J82#5G3NYFO137HQP:EL@GC1N#AEJ[2MY]Z
M8O.T%0_S(838S"+]"'^_N%Q]GB^FJ^]KO2[)%N39,)^A'I46^HI'R0(H2-$%
MC= DC_!A.#\MOGT6WU$$-@AUN(_J)ENC ZZ6)M@V8*>TL8XC;Z\^'"'Y!D;/
M5GS)1R!7G#.4AA9"2)F!M8K%+#!Q4:3*3=IKC:L1G<R6<12BC\!;6+^$:KF:
MIE<UJF'Q_:9%-+A4M $6;3T)RIFSZ)1CD)*-ABN><QO;]B$TIPH*.):L34/S
M:$FW:']3=U7:17^C3U[\_Y>+Z3)/4Q7N3:=I#MH5XQGMAC1@";9^%<C$DMJG
M6EBZC2+LP?5$5&)(Z3=8&QZ.?ZHK8=(V"&XR,[4\@T:'+")D,I6T=(#"RC:]
MC+8B^FF;;K=-AZ%QK$#)6ZY=%W@MK=0]^$YCK [$9A<=.9**L5:D6S!1.*U*
M72N-IFEB>6+!:\&2 "U0T0Q*31SFDVC*'B/V-(K2AX$V!1^0'OCY>@/U)>?
MLV9"HB*+7=0--"IFP"*/.M:QM]"'NS#&MU8&9>E^M89#13QZF8:K%*GI-_SQ
ML_=(>VR:7DRO+KX'R;;O^I9AD_ /&MM&;KXI')54+LB$&DWPL1Z"2F%+R3+>
MS<T_8)0'\U8+D\QGM13)O-SZ\3!T[7GXL"SU&<EF=V8G>+&1AI%1 U<A^I!3
M-"+FD*S2DX/&- @G-VE=U1]:+G&U_&T*D12A!J,/3U*7M[5CK?=8-VCD)=F<
M:8IY'G2(W&>:8(K\1,L%*!ZWT=ASU(?S^KG6_5E.9[7PYU4XV<7%_*_JQPQ$
MY?X7#,Q>SQ%M+HHN%A]T"48Y'1, ?6.RPI)M,2CRY."Q'<S1G[,%K;6?9M/_
M6>O#==V%@:;:GH</RTV?D6RNAZ%&,B9A>!8U;SEB5M$AVLBU!GNG-$_W,?7C
MY#U^0_+/89;7M77?S,BV^G*5OWX "3N>-H#4NV+=K!<5>"BTW= JY30O)I)!
MJ*(6I@C+<^&3;JB'DNOAU:3V/K.IC#O4F@( 1Y:S=Y"XYMYY(.L;3 H@K+$)
M=TCZV-)3VY]\Q)JR_Z%-)=YE#5')<.UUS&"%#L7YHE0P3F("- +C#I$/4Y+J
MW6*>+]/JUG-_^Y$91<"<R.2(1UZ#$'RPS)>:PI?0)TEHA6U2EW 'IN/]\;4X
M:V&*5_/9:@%I]=_3U>=7E\L5+=6+7_^^/ONL%@[]5]?J"3J#-J!@4I-+JKU7
M+%HK&8@B$#@Y)K))):T#L([OV0^E/_>]^K9$M;B[^E%H^KY0KD[-)9"MC3PQ
M[VJ[T) 5"RJD>G\;C2[(C6_3@W<?LK'R.EMIR["B/W4&Y7*QNI'4V\4'7'R;
MIJMRN@5$EL8!4ZH>DWE9F.>")"8%^73>\)2[))+0\V_I#GVWJ3?; )R^A/L@
M],X'%/. 9\:W\-0,^FM$RYM G0Z@>EP^]=&!^VC&O6H:AJC[K \DY=%4P"<T
M$I)BBM>C[>(#"T);9KW*SAL;#78I+G".U&^Y.QJ1^3["'3I^^M5\@1_F%Y?K
M"_;K>PQG>*@Q&TS'>B^B=&: M=%H!%1!8(K%[W. MCU\/#-Q0)G/!Q38@-;?
M&L^Z1]&[B\OES0"O,2%&'S4 XP4=TQ#)&.5!DV%CDW80(&W.V"TD;GG!HR=R
M",$-/1O7CO8&'IE+\,9[)K*-3 O0+'";F848/8+C'KH1^<##'SV)QPIL:R[@
MH->P[W$U7:P-]-HJX, #I;N/&.3X: >JC<,BK2RB%E*;%#4*[HV4@3NM(G?9
MV3#9@>\H61UU!O?@DX:77)?3-K#:!"F-5\%JR#$(IVC3(!4-$9R5FP*\A?9:
M%>L?$9;X__X__Q=02P,$%     @ !8%A4N$KO?U5-0$ S[X! !0   !A<'!F
M+3(P,C Q,C,Q7V<Q+FIP9^R[!UP4W9(WW.3L(#G)*!(%Y$$)!F1$)(F(B("
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
MS5QYNJ.V+1,\O&;91+ZU'"162#4!]U <BUOEX@^X2YTO6FXG*HZPC)_2[.X
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
MKV'K&J03! 8/80H^BL'>S7RQU@*/M&4<^*2GH9@SK>XQM79W_75$N)=\19=
MX]S BV)#A8^3'PUZ3%,J#[*<%F)9UQ:Q.LKQ/Z#)>E%/,5[CV: 8 <%Z ?T;
M2,T'DZQ(JT_=U#/R<SPG]0<#'$.H-S0_&UY-\QUGG9+@%TVZVK([1Q 3!*I
M,/$5@KG=6'<F$#4(%V]B8;P[-!_68/7,3^S06B1& RP;_"RX:-6O=S-+P=[,
MUKJ-U8!=BGHF&BC-60@:E4WPR;8WOT8:&9,7;)R;K17>EQW.,9><9N;(EAKD
M[I)H)I]&0HQI,'BN4Z48$QAUTGP'+(X \_-MN$Y<R$EMQ0HV*)2.>TFM/NA6
M>IAA,U%<_*(X\4UYH]6C1\<2S;;$HH'OCRE>D)*98CJ1E1I=$*R-UIXDS4>A
M?<@N9^X:7B?K3OM%[PV<<-N]G3NT0[U'I)8^_/6;T.[+W_=7SI5?HN=@W0EW
M,JN[6B8\B+"5':0Q2[+'W< OMD<LC?N30YL&^>/CPYU41&^[)4A>.,>:N_U"
MAPC+-_%EI7_+&8.AM=%M,"I$#5$L0#:Q>^7>-2N^U\N]'3HF\X)2EL]6:9H%
MJF4<TSRNMGL,[^RG7NW?"24P)+](FI!X![8*<C0KR&G<\))I/]JZ<+'/NY92
MFY8WFW9V\_W8;/KZC.[(N4JAMQ'[)=WEGYWR6=Y29IM9&V5C<*M"T^?2"Q">
MKYF MU\<XD5\9A&J) 99\_U0XTIIW/?:.)>[X_8M^PSV]A\_QGMI@/7EI8Y
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
MM!2KK%:TO0>?1FS"(ANF@CGT83>>!O_>Z/BOAN80%<1G11IB-#X '1[9?WT
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
M5U87GNWRX4&B88AQM/H=@T(72-XT-X $KVV3E1P/0"R(PW Y_CF"1N#9(8H
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
MQU#RF)5P6S>LE5*'I]G[=@N5J9*/N@L<O;PW2]<[W_!_TV-<<J.PW>S"C'=
M !%T*_HD/!8')R9FI+'4E#411;\TAC8DCJ:-!D4(OY3)M[G<&+%6KOQHY7%;
M<R2*GW8S_G!3D@,!LF8_"SY$[3;M>T88N#F8?)<0DYTD?G5$8O:MYEO";?3%
M:;]PX>F?6I#RCT%RC.5_DD[\'9NQ#.V*C6YF!OBQ,$!+V<)=N,)2\\Q099',
MC%>^I2#7^9<>'7%7?(Y]Q]2YUWX5L0I.$V6797YLZN':([6ZX2.D6.7X.?='
M:9RI\IU.<(3U44!A=C7]%'  ,M<6Y[<)2'N0=C.U3+W)ZM-5^L_QSYD$=69G
M@J>O[N<VZM@3D:3P(>%ABI*=?#I6*G08DH!L\/*#QMQ0.)G&<>IDWY$F GHV
M/1HA N^:Q&^LR[KQ.SV6?X-U8Q3?J/JL-QOJ/F01_UP;4J^1KY<V ;N@S1")
M*RSK6#CQN$TDY7S/O1%G8\6^&C-]7T>QI(0LL)Q,X<,KQN)%AA;7OU$6]S06
M)9YH%A:^,[X&^@FD:#"HYE^P^L<5K/CE]5\_M@Z.A,ZBS35:FG2I3-U%T]2A
M:25__I9ZW>A&^0+@[8=.N V1(;6YR.UBO3+J8;3PV77.=UIW1[32V#YF//![
MED<=3R<\O++\^#W!K14^_L%P_JL?^ZBU,<]2QW)'HL"NJ$K_D_INB@#W >AP
M%M!*\ &'0*I$V]+#ZJ/GPIV:)09+*/2DR",C):(Q)I?>URGA+/+IN[0^<7J#
M/,3=H;,K4$#(I2K@?206V?&Z^DM+"YH9SU2Y*"3H>LG#<SL#7', FGVSAU[;
M1U';J8?'H78"(KAN;,Y\U=KTX<KZ8R5<K\=WCGQEL#.YM=F[KL$_^+2(ZR<S
M<A7<E,*NC5M\KJI*[4@["F )>2UE</MV5<F8 Y I@1IPS-JLK*)V1-(NY$K
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
M0M&P8D@CD9&&I-W)BI1#1*F(!"#RWH@MW\.W2 Q;?Q^^="J#^B2=4(1TWHB
M- )OB%WMK=5L'AB-YVN1NC6?I_J_"X&-#C]L=MMW;;N_U;MDU*E*B"[8(YO'
M<& .0(>S*6]:]_/NYOX,OYWWUB26>G@=4E<Q0G$ABF-WVEV@9,/N:9EA&;A<
M'"K?6EAM_S5[HFH+NS5,?OU=+KSYX?O]-.I)(+T[GO%\S5BU>M]=UF%6SZMT
MSPY ]J>\2F(/4[N0-&L:Z'8 JG&E"$Z?&0W_6(^.*.772U-?Z^[OI?]6R.H3
M=:G=A7ERLJ.L*X+S)#?=M260 (-@>Y0G!#>:%QSJY(P9.0"U+&3=E>J;T'G6
MG"?B",.]=D1)^<!\RV$ R[:R+O4D>-("E]Z/FPG#,+;W*]ZM%N2K)'L18=\:
M-REA,^L:NR9)(=#[;@$8D]QF(6).2!9>Q](#DQ=5Q=W\5(6JW@$?*$PO\9GG
M?%*K=,Z+T_)^HHBSM=.0UT5R%WCG,7(VZ':,:=#"0F&JQK1;\C?=*9APV)-U
M^;M#%[.&GR0?=7'!6I593':</.'#H ?BE.4P'5&_'&5TO_C5=-SM#S2;:/OW
M.+SZQV5W<;[!P7@!C=9J]".B?7CQDR7BR_$:;<&-#-OX+<YV7;(N8'_O37$S
M%P"U)CZ83?@NTZ\2-V&Q7_  ='ZGE1.[8*G]<IZ3\Z+)V<OYI.#=W/TS_/V4
MS(&;+ D/KW[Q',S^BDQV0-U34O.;6'X]L?@"PU5;]T8H^HC5U'-F%2T5\8]H
MO)BR^P'H&O@P!KK?(66X>\OQ,^*C(,^8B,5,A/6E\<9[EURFK?/RRRW$D14<
M#Q@$)\XVSFR'7NUV3)S_[KR[*GL# K 8E.P,6>?!2 \9P=3M\ ADGXZOEO]R
M/G)N;9 HM2Y!\&Q/@DV\@A=X6>#<!4)"V:T^+'Y^]DS//YSSS0&(11X_'JT*
M"YUA2-*L0=;E VT;O4*K;H*6B(<- ZQPZ395UBHR)(@B;9NG$<597F6VXW\[
M*KV@1!%:#D^'4,FQ1EF46OAYM(9!7F7\=I0C^MK>-_V0 Y!W^_?F;>&9*1Z/
MG*6OKS:3UFT** :$D'#'3/@,7KAF!].\$*\^)*%64FR"#VP,K-?K;V%=FD[X
M/N^+[D(_GZE$_[L;!.!M3':;:V==K(=W?CA"Y6_'56VIPWSX4N2# <R13PX_
MU1&.C-?ZOXQ=M[A9B[^*LX;R4<7QWP3Q%VF^[3(G8<)5TNC^KF/=,,K@[N7A
M-[U.NM/>"2@[7^$XJ ^V<>!LGT?$DQ7<DEBT]>TK>1S)RPZ5E9A]%T_^V=".
M/E00FJUR@T?]H\N0KKA>.'(^IX& %_B #27?%M\@*S58D#51:WGW;-)DXWCU
MYJTT/YS>.<P'(*D\WTE1!Z!,[P-0@B^4J@+3I7XTU^T$'_.3C:3%%AR-JF.F
M?)8AXDSFWW@;)SU[H[K67S2BKN[>P#<A6F</ S5G.DQ[*NZP^AB)(3;94L5>
M13TLSD[)X4A2?C0Z3:S>5!7J^'FN+EH,OB9R-F5%8RHN"C<9.3&AU !M)6ED
M#JIQ[M]"W/C7],&'GU_1>3;0 <4,D/P!N\=/9D[X:9;7CL@_LI+2$MF<3R<G
MGSEFC)[N?+S FVOQ^C/I"V8PY_CWN CRI+IL&<>ESPM%YS@7UN ;%$X8SJ0
M&QN$$6WOOS*?"6-;N:*RK-[]AN&]^N5T6^%7\A3ZZ69Z5"G4;8;-[QI GO47
MQW&E$]@[ZB&AC5(RTP_+<(=CIK6XL)G7J;%Q6&_U=%7-.7M>U*M50*.KN"O7
MN3O!G:EG\'%N@3ROVM7S1;4%PE_]\U2+U#<>#GRX6MA8QMN1B^JSZWLREKCL
MZ^B[^M[4D&"!LX] G*#<'5)&SBYG64R*OZM6^!*6J[YKK7#Y4Y?!]:T5A4-U
M3JM4.HK\J*H$Y3YAY_F3AJ<O9YS<_7,2/.<MBEP3;Z[E\Y#Q JO?4][8SB=C
MQYBJ+-*4$V?2WWA,?B*58;'&]N$O<HA6YI/3>Y ,6F28>0!R3 ]'-P+#9/7F
M:'O1O7X6[#QJPHA^Q+_T3J_&_:-GZY&AZ'+3M7W"V)R3CVA[D7:3QM.=T:HX
M-]=[!R!T\_U)BZFGXUF#L*5OW$'E%U6\K'.D7(Q=%,N]'J#;%N;[EH\;SR'F
M=25:VYP\8F4:>NJ@"1MN"<]!1VBP7'SY+N%_5TWAK_Q'V:^\RW^N*,-_!?L;
MCV[W<[>37/)7,4TET?7[R]^^<<E 3.XSJ-U^O7S]DXMPC=NMIGOZ47GG>(JJ
MS3,;\8;[^52^_;+*=(:;A?#"7;C<M,!PVF/PH[HV_%=VXP,0]NQ^'L6M*W@V
ME;M-+G8(;]$@[ZV$;"SKW"P@^>PZ$G,U%.KAW!>-$A/?<>O#*M[N?T6N+W=L
MXU\NG(R5.R,FWJ2>2=5'D'?5TM(TZ87'!7 'H-B9H\K@,]7C?EX/7*]C+JY]
M^7K'HGPM[#+C:@3-&H4\KB=J;""D_,R(C&$[R.*R"&39O9K]\LC=;YQ?@)M8
M[W84W6D8(R"M^_ZGRXLW'RD/J<PIV )OTTN(B3:48RK*,KZC257I5);L$>AF
MPY;XESDS-YQQ@BF&)0X*G!I.HAI>W0"LD.P4V*:?!,!;4"FQXP5EOUU]*6!_
M-E1R=:LUB\J9U(WB\YLY@9 I?>5Z $+>)?CGO=88PMVII43[^',@"ZLNOUWX
M&5.%KL]9<]SS&)J/MS9,:2??EX%.G;^1GFRY25Y\DIYBRQY(&%\;_E_N#N,!
M&-/<G><Y:ITXS=V-[+[1\V_AG+I^F.MS25/EA5,.E\(B0/I+H.6[F4T?:T1Z
M/7Q<TXX$71!%"QNY+:Q5(=P,!SIMRVJ7O]\7N^U&[F_P@;F]I$&;Y5,!?Z<-
M']@%Q!B2H..[,8G'6:.\R>H(&GAFJP33.SYNMY]%,E"DB2GU%X]W'8[S-]C%
M6NW(6_LVZJO/=7(\76G5OK.][?+,>YV7N&@.^)(@P5#&)\Y62%QH1,9KN.ZU
MNJ=<I+("XR0C](/=C/<UDKD:V.S[+]7J[^EK,O9 "#=@7-1A!'@<Z7  ^E*$
M/P!UI=KC3 ()_+A,!\'#0##..5!E?RIJ;,9!SIL]SF]"XG.+6=SM-[US9S-1
MO?7RZU)DY@-0J]4!R%6* ZZ+2Z)PYI'> ISXR'3V_G=^"H#=;#J?-E9 Y+MF
MM2=K=O[P1(] Y_IDN*2F(]L-R?O!)QM3TD>A$TJS;FVQ$XPM!,3 GE3,_=%&
MTT(M)&Z VPGSNBPW!Z=S>P%KH3<F&JU[2#O<6%U5<[PO'&$V N8\ +V80_1
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
MMG$?CF9,*M5N6AE'HYCO>AO+C+$?NS5$+5\+[!Y9]KY_*<A^CT6YD2VXT/S
MO3+G0H''[V:Z$);&J:I/D.Q+1M(U?+'C4FUV>F.X,6'%M0=KR%U0*ZF8]!@)
MELFH[=J7EU?LGF1.W1,3_'"%R>P]PE?3Q[[>="WFRLDP,P'@("#I1/"6;?.J
MSL 5U=\,.[,9^C^>CQ6%"W.%XV0$SA#$;\-1]X?"OYZL0[C(S,? 3MY0"#,
M)MZ[V+1_S3%W6>G>*/CH. OP]7XZ],;U6Y=W*H+K7O_:6>M2%2,OC-\04EE5
M?+9[).FV]&S 0H"N]'B*#A:?8444LYY(:C(\%$#7ZX^_5'5$1-$R??S.RS7O
M1$^HW?LIB:WGBPLM:%.?1F ![(V3!=5689T=2,L11VP%^68\O9*+_O&AH<-]
M0H7K)%IZJFMC*T)4JDBW1EFI+W+(-\K. (Q,LB=-B1YC >9KAO8<55XZS<1*
M@BD+V!<2>8;0RQ7_[V<G_<^^X)*_81J$L\P7M2=SF[A"J5%?TG9B4QZZK30B
MWL3NLN2BMY/Z%+,#T]1P2O74?897+S2H]N;SB<\$]ZX9S&\Z1YVK&VP_WW^N
M-#%['PS*H';5*ON9CTANAB'-FRS2/NEQ;%Y!MN9N!3$&1;'Y#3XN'#6_>" D
M>]F33VS_5KP1*JCH7.:5LI/HA(QI^JD1!N>P=(<C\P/$/Z8[,'ZH=%!-YT*J
M0(G($6>#X OUVHLW6$!8+G6J"85\R@(<M\].>GSQGU2W4_)CWK$A+J(4:*3P
MG.6PCXO$'>\# PQG+2.40MQ"E]%#R)4O\(?I(%,MP1GB<69^71^6_DXD\S#?
M5^MU5E)-+E%6%<>C+G5WM-OW^M9/T"-!\AN? L=9VA.J8G/M\;&MY=^EX9&C
M3+'H@Q@?8OG:=PMZNJ7)P,?Y'MQHMG'&=N]5J*,=AF $/^*ZE@DV,AHS+Q+Q
M#))@*%-B9ZB*L3XI_':?;5 M!)JL/Z+.0AQ<MJ#4+IB747P+*R=U$B::W\[%
MZWK/OV('K88IO^JX0L9YAX>1C;:2MAI+Y4<;_!%:29Z(--\?E_>6Z.TMD10Z
MTY!Q!N"Z?6;SF$<4;?'FVR]:/ 7(A!DI(_H\\=)F*JA-#M/%=1J%;#=+$AEO
M1/]LCF<XU?JL%L4&=:U:-I'\5IH"JQ\N[S148@=P_Q9-JU&(!/M=*G!;2XW<
M%M_TC5#(.T+&Y1]3UKB6GQG_F8QE$I$2!5/7MEC7W]=AQO>/29T[S7N"K=Z#
MW<V-GUR84(CWLXZZHXK+U*O =7YAE\[EJ&<@0_.7[SQ]BE]K4UMC 76_.I!-
M;66/4@8B3N5_TRY"?X;?LW>@<8;LE\FX)?/N>K<6'_<E(&B704;DCER<N7;"
MB/L2+,QN_YGK@T;1+;'U=D1R$M&)$SN!8EP<W/RUB1C"3L)3<<!QJ)H%J/0(
MXS90]^+=U<:( ;_< SK97KLB*';893?98$5(T*1]+=Z=!= ,O'&-2_)K*PR^
M>,AX]Q0+H(=AYS]TUOH0EL:/4C(?7Q05K)ND"FBX))[I2<67?"!(7I'Y(IE5
M.-)]ZHL8+2F284OEDIE,Q7!QQLSD&I3>T@Q2D>V.GLXHG"];BK-PJUUB\I3#
M]&0[.'U<"20G7/S\QR^(I[9"@ 7@A=;Q0XH0.RQL.*_2+SDA_F !Y'0B+(_+
M-?I9 (\A34^C=_J10KP-]@/]5%#QC!N]4;BX\QSVS.(<2!/'Y&?/8<N3GOC:
MNAJ7%Y>&NH1;I^2]4OHA(KMTL/@PVZE#P<Y4,'1T]V/R1W=ICI!2*Q\77>2P
MF5_"'0E^1X7T/*=>PT\5%LVPA"\^)%%']KRUV)-GE7"_)HTOH,W3V,*TUT)_
M(=DU$W1Q*A0S9V;#WLBYYV4AYH?H_J+Z>CHJ<FFJE;EQO-#1C%F+M><4X'E$
MUPO0I XN)1<9LH",<HM5^6-1JDVP87(8V[V(9[QD1J' KY](+<TFN(^31(7
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
MXKWW61T06;QB&%&KC!K:HE]#E3-.A8#+/%",Z')%U\MR]XO%(ZHT@B %NWR
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
M[/6+O>W41-C<EZJ-X'@:-!6-ML%\5YQ(3T<]E\%OLZ^W28']2_-NJ7<U'C9
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
MHVG^JU4L.W?T488NH7PXM$@KCPR=<3JKN'?MP2\&YTFFS?>XCN>6A_>5'%;
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
M93O06#*-#8S(Q WQ?3)#-S=M0M:/1-J$'C"Q_G+\!+NT\M=(/_+C-H0YN'.
M#O5E'I['J=-0VKM"AE[/3OTT7P@-D8H76T?;[WE4X38<Y,/2+?/7>7<XR_E(
MQKX+@U$YL@M[HUS9DJ$L>LN:ZS9$4( [1FF&)YO*E@?\%B/C$T]C>]H2<=6%
MYR9^NK0V$(OF/!]?EQ@)G1RSUJ]\E#%_Q>"%VR'^G[!_5<"7 :>V8YLWUKQX
M$F.3<[_3D>6,>0L3!YS91*7L?AXU]>5XG6>F14:)9IM*UQ:75JNV9K38ZE<,
M:/[J_IVW:(QK0B901(PH4%1TUQ17X\./>;-/8VCCLEJ/#!> 7>NN8CPDF^MR
M]KN\4$'+B;VE4[T4X&XD^VG)(IXS!/^=\\UHBP/!N&.F2<U8M@R4*YQ DX?.
MEC#+XJE8'%?,(SC7A><A4T%>5GB>U/S!](1_^&GS[!EOSU:6HYMJIOZFYKYU
M4KOS=08W ^T!4JCX>!*?J37+"I7]>9;,E0=J)DEW&2_$=!I/KIT2*O7M.$9S
ME=4V[[^HM4287:2]PK.EG'I/PH&+:\>.A%.C]0Y\<U\:6'.+2A2%C:$(JVQ8
M]>D%[^&#C=F:I^*&92F!;<T23&SSW"WT)492#_(C]Z.6Y2)6KJ\&+)Z.1D5;
M!#3)QUFC/A'E[',(9_)6Q01W\S]F[,_C!9TW ]%%X4?_ 2(8_%U$&<802G_\
M,IC!T.I?4.2^?Q TOLMWW) #&Z5>.+M,6WH<FQ7%YQ*EFD7OY2&D!68&VX18
MLWS&&Z$Q*PB$FM>#&8 E_0KWP!3:BOJUS!Z*F)6P4WPK<E0;5_>H\(^N;/69
MA$&]#PCINV(I&$TPYD4 5 BCS!. O3(N:TIXNCP'$I1R_9//6^G^@-QSBN8W
M9K->7^M#\WA_MSUC:LT/,&%F@SQQO[N;4[=Q5T\*3*-QRT,6O?3HN0DE.CE@
M_:QG;M2GMLZSD)B2MQ#?SXE3N+!JS56^;Z1FX[4^EBN:;Z=E#T^ZUC]/HB%V
M6P)+BQ?;".[+[B^*OJQ<O5T>V$-].6E#:W*)*OFV5">.?V(0SXPZ8G'C,.24
M.LD43JV$;SXF@1J1G$PELVW(N$Y-# ^V!$1YFOT'81IW&0P!MERRA_JPDN'R
M<'Z4]SH_:]8NP\4Q6&<Y>L:]:>+;RN:,L> SR*:H!C.99\E]=BAXL'@%45]8
MGA!J:L4(ZW5?[Z")28'K_0ZK>H+@,9%DVGAYP.J$WZOVCI9HC\?7(N6+UB,"
M][G,B@FS%+GS<.#2R ,H</D*[\N\=QK'_"#QH[*W(7U$D3:&=<]&*G1_XZ]J
MZH<_6VY(SLS/GN^U5JZTN=,1(74)W7VLG?/Y60!1!+0'N"/D]@L1^7I):(.2
M@9";.,U,$7DM5%R%]H!0BMQ^VRZ18?0(ZQ3Z<!ZS@-/<I <>W4AO=-.Y:R<F
ML WID0?T^]<E<NQ+WIQJ>S55>NZ+0;1N;XM3HO1#U72^-LU862*4\Y)[&C,#
M;<[K(TW',^W!^!*47@]I5TGM>*?78O0V9+^H^^)5ALZ,K1XSIM/!\/9 2+ "
MJM7GB;>K4.+AA%E>=AP7C)F;(C63R%#ICVP+8#XWGJ%!<\7]A/.C+[UOG%:L
M49Y8]?TX)?W\C.?,NP0_W&U5OX<-CX?PN5CJ? W\TBA&BSN7;YSV%T["FN4-
MIGI=>5.XH9#I+GN**PT+/KJ^/Q!.39QL+^01,):G"NEI(</%<^A[#?6-C[ 3
M!4.W*T3*%%O$] _,_Y)]*C9^_G_V@>$O)^Y>?EX4_P";6,%H/U"+ >?A;6-2
M$EO1#W"EZ[2DWQU69]$^S%3G%WXZK)GJ-G6E65C<:U%$B7I5<> 0W'G47.D(
MZPYW!-&XM6;",O9DBW/PVY#@:(<'[E]J7^PA+7K ^8DO;C'+A/*U;(;94-]
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
MSU 2,ONK @KHSR<0$:Z /GCI=X78) _RL3P#H(D>\Y!:'._^B$K*0:MA7RJ
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
MVS)[;(*?O@5P9V(S'!J+:#,*?GI9Q[]U:GU4B%OY8#:XT_TGA1G/ V&F2FP
M*'MMHQ#.AM).5^/JYU/M8,C*?IHX,]\KJ J[^RYQL2/_\Y^^*U&O$/O42N\_
M+SAJ,G76^7T&"/,8@#N/UKHJ^X1IDM+-ZC*;X!X9\^=:,[;.-5T#A?E?.);M
MDZNWTRB+#2H?Z^-OY93E"'>@S8?M_#E65.YKJC;F9S_8DUV"?ST9T%\V4(O,
M':@J"@TZ,RF_\/>"A-%SIO9_KXG<_XTK!$7HL-?@S*>&\_49VBH4MQ'DLY_+
M%<ONUZV%2=LV.LANWWA8[2<EARC&D,K1V6XLM 3'V6W(]-NECL]_7/W&<J$=
ME7,.7[0)6^R?3XS7>O5QP-+7"%M>B4#PBX'G2"$5EPN#=C5\G/&JFF=45Q#W
M$<;#7ON]?2U8^/2WDXKGJQZEDCJU@\$J ,FCD1/TNR:5D+$JG3+DO2UE3^)4
M[Z]@8V'_31V0).B"4F*&,7X[[7%J,ANO>/\BXZ2R%V**M=OV8X!7>,\#N_7*
MD+(/J8D9/Q<7_F#W/,LPGK;]7WHC#Z!(,&!($+,[!#(3)FMOX",<+&A52:62
M<DV;8;3^_79:7$;\ZZ.WMBPX-.5&25]OTO6>F@^<"PF#O:BDCTV<.&'&JBSA
M^TD7S-DZ>/LBFAO2>KT-EF.0>DI6.G7!&:"_L5QKL5_>0+&X;H+7PGW"D5@1
MJ/9X83J.D?(^I!R%%P?8)+U)QY (^(9W;2:SZOD6H2J'MI[4-WUW\5Z^Z^A_
MIAOX[Z[-S4ZE(E#'4=J40)*IXSI5\8*P$A,^V2*_W.,0\9BQDWB02&L3@7['
M0/]>POZ)QF2ZP=P['X=U?=77S/M8SMM_]NO,DC[&;XJ150EOJ4"7J;"A"IRD
MU\Y6G3ROT_Q6/B,<#J/>0\:;LKYAHD2@S@01:&$)^U/LH,L+T/_]R<XBT*:[
M7;FK2B+01P_L7Y^?(A!'&KU/!'JBS"\7Y_V";="E"7:(4&.>BDRU%_.'#J<U
M)"XKR",(AWG@23Z_E]74-\/#</<V_'I+SS!>>1Q@U&JKYJ[J/Q-Y]UY)QO)I
MYJ2/,6'(6P"12>JD[KG''M7MDX]PRVB*R3J7W]04XQPSM2PVW<CB_VYS28D
M"8X,=\<81A<UXL9Y6\?)5%U0-SBZ=?#ZSH"T6X+29Z_D[>^S?GGU1UC)7ONS
M]>+3U/[OC>]NSSF71'C5X9=/6L4@C&<F8J9+WKH7S\5I^YQK=\T_ZXDL@+@P
M68;(O!4HWQ8O+%<6BM]>,.3X[V]@I]Q@&F+N;MO!6A7SHUE?$8C_[@^1OIV#
M%4B)0-_NB4!_)<%M.MIC:%WJM&VGYD0:M,[,Q+1 $H/@EQKAY4\NAQ^AJM[-
M-Y^IW_6,Z-9!>WV!/?CT)/_=22,FX7+%VRE$4S2"T!1K?Z3.9Z+<Z.Z,"^&9
M;TN,I_-0J'B*PH/_R_Z3-'N;-6J'Z0\P$#R9X+YGZ^2^XML!;P:UQ,@,C(8V
M.FOU>T[7+R<*U7.<78XKB8TA]Y5^T-ZGGF>?Y,8\NV44ZJF^&I"+*+M2](U\
MOVNO5)%P;M>P4Z_0TOO^&57*E83OTG[_X9 :'C!2YZNNK/7SN(>6O,V]CF/<
M83O<%K0$EE.F?5$7D2S#DN&+%O*Y^AUZ$2S0N[TUEH.2NWJA)X<.:0C5ZC@N
MA:F5"#MXY9<%FS>.F5-,*Y=X:X.KN(<[XEZ&]NQMSWO_8<!:\_]1W>3_O_[K
M"RR:_!]02P,$%     @ !8%A4C8O2</2/P$ M$@- !4   !A<'!F+3(P,C Q
M,C,Q7VQA8BYX;6S<O7ESW#BV)_K__11XU2_N5$<(75S K>\R(6\U?L]E.VQ5
M]714O,C *O%V*JDFF;)U/_T#N&12N3 !$J18,].W;$LDSCD_D#\"!V?Y]__Y
M_7X-'GE>I-GF/WYP_^+\ /B&9BS=W/['#[_>O(/Q#__S/__E7_[]_X+P?[_Z
M\@&\R>CVGF]*\#KGN.0,?$O+._ WQHM_ )%G]^!O6?Z/]!%#^)_53:^SAZ<\
MO;TK@>=X[N%O\[\2ZB0N=2G$ 0D@<GP7Q@Z*8!+' 8\"X3AN<G7[U\1)'.01
M#A,A"$0DPA#[B0NY&WJ8Q-P7CEL-NDXW__BK^@_!!0?2N$U1_?,_?K@KRX>_
M_O33MV_?_O*=Y.N_9/GM3Y[C^#^U5__07/[]Z/IO?G6UFR3)3]5O=Y<6Z:D+
MY;#N3__[EP]?Z1V_QS#=%"7>4"6@2/]:5#_\D%%<5IA?U N<O4+]"[:70?4C
MZ'K0=__RO6 __.>_ %##D6=K_H4+H/[\]<O[LR*3G]05/VWXK9K9SSQ/,_:U
MQ'GY 1.^EMI7HY5/#_P_?BC2^X<U;W]VEW-Q>MAUGC\;56F9*"W=4&GYIW/"
M?AJAOB5]RV-=+2A7F?O1EHY]F'ZTINZ-Y <^O<(=,:-5KA^HMQLVU[.[$S5:
M]>DUMO589"5>S_!8[,5T5%ZK'WR0?VO$J(%ZR+22TU!W1U7^O>0;QFNV?#8T
M2-E__"#_MMH6\!;CA]6K;9%N>%&\SNY)NJG(N_B<K5/ZM(H(BTD0$.BX(H&(
ML0 F"4.0XR@@/.*AP\-5N7NZ5WP#?_W:*E))TQ7U@X&UY9FW-N=%MLWI_GMW
MOS[U$9/?+_7%BW_:X'M>/.#F!JFO6AK4)OQGJRGHJOKO/^T-&X7K>D:TUB\
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
M[&2X46^2[(8#TR?*8VBEO%3&PH&5/;D)AU>.<-NTS9FN*<VVDD>^<,K31Y7
M7U=)7CF$A8P(!".6N!"Q.(:88 X3*H+(\5"<N$9U +6D+LV_T.H)]HH.<"Q<
MQ-K P6 3P8EIX@1XTY9%-P+(NM/AHN#YG0^Z6)QT0FC?/*!0Q^=<;;S+IY;;
MGJ2PUUBN8=95KYAMKA8S;_A#5J1E\;_XFOTM+>]N[M*<?<;RMNOB=;9>R]U"
MCM>JW@C/'U/*BY7P8BZ(G!_.*%6^T B26&UPHCCR@B"* Z+E"YU0QZ4Q7&L
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
M(*7Q:P4H\BBF""8^EJ1(' &3*/%@' :N"&*?^42K2<]9"4LCO,.W33\:Z#2
M_7QE!9:)N>B(?^SY B^:/S98Z/3@LP4.]=K6#2+JOW!<CY37V3U)-W4W^&M2
M5%705\SEB,8156GPJ@I70" )$8',%0E'"?;\T*@F1I^PI;WBNR8@767![ZVZ
M UNFG(19;[5B"[R)B6 P;H,[J/0!,D4;E9/R7J272I_EYQJJ]-XSC$-^P?D_
M>*F6&%\YW>955;K/V3JE3ZL@P3B*A20/#_ERNQ1++O%"#!W!(HYBY%-LU._\
MO*BE\<?[C<J"KR)E]ZJ:D48/KGJ480>MB0ECKV0'J"M0ZPE^;_Z<9-MR&1^;
M_-$C;5;VN&SU(7=HW#&T!L_7>[Q>M]RT0I(<?"8\R,.(0Q3B$&+N^-#S?1*[
MG&"':1TKGAE_:1S1E)FI= 2MDJ;5=YXCV$\,%G"9F W,(!E0=^>DX:.K[CP?
M=>::.R=-.JZX<_JRH57T-H4D %:WSZBHH.,C#2(O#$D,O8BX$/F(0<+E^QR$
MF**8$BJ$ECM 1]C27NG/>;JAZ<.:5U4BGVEN6EBO!V&]S[\MW"9^Y9^I.<^'
M7P<9NU7W>N3-7'KOLN7']?<T[K%5#;P*1+C+UG*,0A7\*Y^^9.OUN[J$PXKY
MF 8X":";^ PBR@)(L"29*$@<SFCHQ&;)3H;RE\8V9RI:=VWX'Z"V ORN[ "-
M(8;N"]-ITN.G"<&?F+(FP-U"77$M]*:M,-ZOP@O7&M?"YW+5<;UA!I:J:--%
M.IFVQ>Z'_ROEN1SR[JDIJ!T)-PJ"R(<,J_HSOLMAPB4ENB)RD B(X[E&66%&
MTI?&A9VLIYVF52K#Q^O?!M8P-YL-/=*;#..)*6\<O.;5)H; 9+6^A)$"\U:4
M&(+-40V)08.\3'76M]]Y3M-".: .SL"^<*5>NKEM._=N\?J&Y_?NBH01QQ0S
M.:^J>"M.$H@#[LCE8A"%0>QS&AD5[GL!&Y;&L(TE@.]-N0+?VH-?W!S\YJTY
MJC=;:P]8IX)7P?%/'.=SUX,=\OSHL?G"GXJ)OPDVJ\F^[3Y41]$$.S1 !PZ@
M\%A.M=D1<[FD8K1#S/A#U:H=,4^V2]F.466@X_9RL_LFV%QN)"*JNI0ZL>/+
MS05',/8] <,PC@(>)R*,S!JBZ$I>VF>OJV&3?J%\NZS-9*+2"D/?KO8D:#IZ
MIX!V:J_O7N<=IP.E]=6S@G;6>[P;8V75#ZPM?%ZGL"DF1QYBXP$LL%?=%.9K
M)DK)J/R:TNW]=HT5A7;$KB*/"(Q"%R8N#R%R2 ()\F(8\##F##$_QGBUX;?J
MQIN!;*:EB=:[E]3OWI$^T[V''WA1_!5T= :XH_0(7M.;G@$$9P_MEV"ZIIU4
MJ_[5,^BO=: ?1WE&Z$W&?7I:O!P)&J'4RX9F(YF'T5S+-26K*@VM\>V*QT0P
MX1%(_0"K )H8$HK"JD8G#DE"A:M5KN-HY.4MRAKE@-)./V;F.5R7HV4&@S Q
MJ6C:;Q0@<]+6$:$QS\>;+2CFI!G=<)C3%PS(<^][T8_K\*H2O#??,OF.!HX(
MA5R',.Y!Y#I8Q<0RZ,:NQ^*$8<_SM%/<!ZFPM)=9/CN>00;U,-C[W_5YP'SA
ME49W7]48<567"I=V3#X!!MGKDT_$3(GKTTR(6<[Z*"Q[T]6'C3Q?IOHHRY\E
MJ8\;:=A>MS>A\].V+$J\4:GRNS0B!WD>1T$(/3<4<L47,/E=\01T0L(0(5&
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
M%;PTJJH+'7=*67;T';0[TIX!3>Z: ->I%U(C(!W?C>D"/I,V93HG^V5[,UU
MY&*+IDOW#PP9;$(#A><S[KI0N+Z R*$<QCAB4'C4=^6_D)/059F5>*W'0P-"
M '>#3_=*W"@9@]RI9E%]BXO>LQVB-UTHWDN$W/6'UHT)H:LJ9#P_.?F<\P><
MLB9*K)"KD<I1T 0 -\^9YU#/8QZ"@8/DZRB"!,8,Q=!+'!>1"&$GQMKEA<SE
M+VUUT.C<EL,LJA5Y5OE7&A>TT4L]=%;ZW_X9L)[Z7.7P1+?%O34 7._\6FV&
MD4GH]%#<#:H838O_3#6-)I@'LR)'PU'L+7DT8-CY"B -M_E9.:01PPQ;P+V_
MEQ+RNJ/P8>#W^PWC(MVD)5^K;F-OO]/U5E60_CG+V+=TO5[11"[M8LZ@$Y(
MHBB1WYG8%9!%+%+>_" 41B%"8Y19VD=G;PN@=SB_E:]=SJM>\"J\14ZCG KY
MRU2D\B=KU=*MLFO0\G+4).HM2N>:FHF_49U9.96&<@7VMC3S\>/.'-#:8S'U
MU0:L-A?0H_29==EM [G#Q;J5,<?5#&TCHU)>5/6LY(]XL7*%AQ/L4N@ZI*H7
MFD"2( H3^;Q[6#C$37R#"OE:0K7>VI<H=J]JL95*PV'E+D\CK+$XMP+8"U0,
M[2A[!6KX;FS#-ZQ2Z&@87Z)*J#&<@RN$]L*C6QWT]" O4AFTUYYS54'[;QH8
MCG*RHGVGY.BKI_TE38CJ]3><5]U;RZ?WFZ+,J^>NJ-;C-W=X\ZGRJ*JH-A75
MS]G';54)$P7$#T@<P=CUJ21N/X8)$@@Z/N8HI(0%/EW)-7^:,6E=7NJMDV?3
MW^1=/+1BNM?QUT;'*T#X;;K9J+49P>NJY>6/Z0845<N;\ZNT%WXF/#<2OBO7
M7H1PN6OR5<Z:2STHW,"E<11$$8^:9^+MAOWAGXC6ACF>!UYU./HC/0QZNZ]%
M3N_4!Y"=AC==J[MEN55QRY.-<93M5Z"V'G3,;]Q>I00 - A4(>#M U2C8#$V
M;.Z)LQIA-IOR\\:IS3TG1]%NLRM@WC^RJ57WY'KD)BW7?,61Q!HY$7099Q!A
M$L+8"2.YIO$<U4P>AX%6Y:=3@R_-=U<II1Q$'-,[0%5G7_T^D$?(]5/\6#PF
M9N$=%*[W(_ES6^SR?-:X44_'<W:/Z.!X-.1L_1K/&=/MSGCVF@%.HRJJXPM_
MD#-]5YT59+<YOJ]?_$_B39IS*I$O;K+K;7F7Y>E_\_W%<L/.A2NH<"&MFAX0
MU?[ BS$,. XX"1(GY+'V$?$H59;V\M=JJT>>M8HKCSUN56<@WRMOX$,9-U\:
M_JG99F'JA5\5>;;7#326M*LS\$F G37@)@,[>SHWS3<S!JZOV69H)K_8Q#-E
MYCBS FZO5VV<A/E<;E:0>.:/LS/B,&?=F[1XR J\_CG/M@^OU5HL%2G%NPA<
MGZJR8:ZJ9>RJ[L&!"V,61]!QHE @/U95QDP.H2_(6]KGJE475/J"YPH/BGV^
M!+B>R\(BC%,?EHQ!T-@CH(F+S7W\)9&S[KXU[3_<,^O>-K!FA+KV4RYYK>I]
MFVU>8?J/=7;;]+-B820WN7X"'8H]B"+,81P$GJJ>3CWL)CYSH]4CSTFF73ZB
M5Z#)R]$5.]T[TJAG6$2B'U428D$HBV&$0A\BY! 88S^$KIL@%PF?B\0HX=<>
MIG/P]A2(ZC&S/9PF)N9*4?D>@_^?NW=M<AO'TH3_"B(V8M<5(<SR I#@[*=T
MVNYUA-MVV*[NF+<^*'"U-:.4LD7)Y9Q?_P*\2$Q= 1!DLO9#5Z<S2>*<!^2#
M<X!S.8@*&ED'Z+IF!TO0ZAW71QRWC(>5]B?U/.SN\B/E=U6TS0<3;7,<C/-1
M;N>)(B1-962B#3.(4J0@S64.TRQBN>",82I<<DZN#^=$'R/DHFB1_N?_B+/H
M_]S3S>;)''I5*8AN='(#83LZ"8?;P'12"PHK2<^%_GV\THO8F4WL4 G))C=&
M')5-[+0_9A/+NSQC/G:LE/_:R=7V[4_]GV_Z*94WPQC+4"X)3'.*(%)*028(
MAUD4846BB&?8*E?FQCA3,S\.8H)*3F $]7(7+P%K>;+='ZZAMR-]D'(_*+Z.
M0]!CW0M#C7L(>UW?DR/3&Y?W*!5HSF W\H=<E9IXWJ_X^D'^OMI(NC1[_?]W
MO:R"?.EB]6%=EI]6AQY>=YN%:53]1O]S]?US%>JB6>J3^D9_S5.,D1!,H\^)
M=FU2CB!CHH!)@GA*I<IQXEYM< !!I\9*]S_,$7AI"B/O]JJ![UJI$FCC?U&=
M;E<1'J5G^\/!ICS/\BQ-"@JS0NAU),<9)+&04!8L+GA,HI1$CGL$$YCT<787
MZJ <WE55S[71=2*3:^E83V#"AG;)[]_/P!O)MIVVE[.CKIBFU>$,')0&C=;
MJ U>&<5_,Z&;^EIM?(O_W-6?] Q0I3G&!%,'KL0YX)0$+^8YA*SCUP,=$/&S
M)46'',^S,,9JNQ"+Y6ZK!3J,5V<-26'JOQN9=]NFY\Y;NC%AS*66H0[]>CK_
M@,JRCAF.\C3-(2%F$YKK588JO?(H1E.>IR)AL5/:Y8"R3LW Z$K:[=SKX_@,
M.<5V"\Y$)F[@-<=SSMS+D@R/9M!:)P.*.VX!E>%Q/ZG*,L*0GOGX>Q>G-&;6
MW:H)^NT,PLKMAG+;[5G[!T[HD^\(W9B;IF1+$\[_C (:V0/2@#M@01.P[4<?
M-]W:&963Y&KW)WA73^1ZE$WU\7Y9E/]UOY%BL34_S45*\Y3'">14I1!1C""5
M:0J++,VB7 B49$[]PJZ,-373YYFH5</!6E9@A'6NCG@183M6"H3;P#3T3,H*
MIUD7M!GXO%XN^!/XH_G_0<I+6T 5N!SBQ>'&KH!X2^\S10]OWN+'*?\PK;JT
MH[A^T%[DO. ,YTD2PYA([8 5F=($PG-8)'F:%7D>1\*)19X]?6J\T0@'_JC%
M<W22G@-G1P[>< Q,!]9(.'_C9S4.^54_'V#4[_BL;L=?[OF+_+[5+])(ME@N
M&NO=[ 3Q]?>5V0OZ1G^]EBNI%MMR7\'E[F&]TT:)-NZW>G#]BV_KM[_HPV)5
M7?Y%;G>;5?EEO5R^6V],%MZ<4I9F29[#C @*4288+(I$0!IC&6&4*18Y!:X-
M+?#4&.6YOL82Z6I<%=EH=9Z!0_FE1FUPT-ODY;2:5[<UNH,_C/:@4=^1L09_
M?>Q(<$HOQ<"\.IGWP9FWQYJDD$O!X#*/NKJ,-0/'"]9HX_JN@:74-_UH H,)
MXUBJ@D,D8E.?&W%(,J5_PC++XS3#D5N;[.>/G][Z4DMGJH0!7OMKW(1)JAI;
MU_7@&92V[.T+T.!<VV!CZ+'Q9>\[V P06'T>B["4]FR$D0GHG':G=''V*L^,
M./FHR:9F'OWS4E99,"NA.6:S7?QWG8BJ_5.:X8) C+ V4B,2PT*F&*8"IS+G
M$2(<.Z7%60PZ-2+HRESM(-..L(Y)<3:8VW%#:"0'9HRNN&8SOA&XPO/.!D_W
M%#D'@(+FR=F,.VZRG ,2)QES+O?Z6AE5O\+WJ\5V09=WCX_+)B6O#J6XWSWL
MEM0<D;U52O+MMPU=E0OS]P_:[GF_E0_E'&>I)#@AD"G-54A*!0F+)(PX(E*A
MHL"Q4_9N?Y&F1F*-1J8T<:43Z"@%:JW 02U0ZP4.BH$_C&J@TLW9%>X]O[;F
MTIBS-KB)-<:$>9AAH3 .:[KUEFID<R\4BJ<F8K G>V;(\!]2[);RDS+!#^M5
M56!,U=%TVEMHNA TGNTW$^YY:"6;()452*0PS6-M;1*5FQ.1&,99DBG**$'4
MJ>]V#UFFQM^M*M6)ZUZ9NOR\4:?RQ!J%P*M&)==ZE3VFSHZA1YJ0@:G9;R[
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
MQ?D)GMV.Z7)7,ZNI/T&U>FV X3?ZJ]KUJ&N;:G>C3J,L5$2*G#!()(T@DJ*
M!$L&98QQS(N(IM*M(;*C %-CL=8?,Z[SSU870%ME'%LHN\Z&':T-B?' Y+87
M'>QE-^=J30RLJ>%?R3\#9W8S9L&S6GV!#-K?V56&<5M >R)TTB7:]SE^-'@G
M1%4M@"X_TX5XOVK.SIO8&L8C)D1$-,FE B).,T@I+B"/BS1':8%5GKIPWM71
MID9P!V'!HY86:I[CM;QNW'8=8CLB"P;<P*S5P>QS@UDCZ@#Q2U:@A&2@ZP..
M2C=6NA]SB]U-OB<U=46+NI5(TT?DH]S.HXPQ)&4*6:I-)D1D!!G' E+&HA@1
MGA/L>$!S?J"IT4<K)WC5%*XRAPQ&Y!E82<?"'Q?!M3V<Z0_9X&<R#5I-DZ)7
MC93:EOEX!2V/HYCK4(0]@;DPUL@'+]<U/CUON7%]W_8_KW?E8F4J<!QJ"9:O
MGSK_.L3.B1RI.,(4XBQ-M/T1<4B8R&"412JEF$:BB/R:_-@+,35>Z;;R.2I.
M:DQ&[M'XUVMN+ \R!D9\Z..(#MBM MWRL.7,'$9TZ\6.TUG''<QA^N<XR/%"
M77+<D;K<"\?C69Y>V6J[$(OESK3"/.R&?=0OZINU*2TP1T6",!((QKEIFZ%]
M-&U>91RF,LME6B2IY$Y9<K<&G!H)=N5]M@5L1 9_U$([!AG>!-W250L(Y=#>
M6C\4W1TV2VB"^FRWQAS7;;-$X,1SL[W/\QAO4=+OWS>F$*)FL4^J20'^L&]Q
MG2@4133A,(X3 E%.<T@(09#RE-&4YJ1@3KDFMP:<&M\\E]=8 VT*O'_G\9N@
M6Q[=!81RZ .[?BBZ'])90A/T:.[6F.,>R%DB<'(,9WN?9TF )2W+3ZHJ]7UX
MWVD1DXQ$*8PDBR%22'M[*DUAJDA*682S.'*JHWYVE*DQ2R5D%7IDQ.Q!)^<Q
MM>.0WD@-3!P^(+FGX%\#(6BJ_=F!QDVIOZ;K2>K\U8O]&.#;IDHB>*H>6F<:
M\+I;A$G._+O<_EB+N?9M:$Y5"G..&$0,85AD6/-#%*,4,5GDN5.LK,V@4^.'
M+]*T7S3+Y6(%2B/XC_52XUS^+R"K@"\WEK#"W8XT0J,Y,(>TXM8<,FM3H5J9
MF]8!M=CA2,4%I) <8S7NJ)3C@L0Q SG=ZWL0_I^[LJX/\FUM:A^M^&)I]KWK
M?? /ZU+__IZ6/SYOUC\70HK73[^74KQ?[2M.W^G/]&<=MM06S)&4"U;D#,:<
M4H@0PY!EVK:1+&$29TF>IDX6S1!"3HWP.CJ:XK6;5DMS:M:<H)G?FW]QK2EX
M;%0U&['K??%WNM?SWUU/ZP=X#VP/^5]V=@>/#7@VL7L%S0'?_MC/*/F;^;/1
M$WSNS.TKHZM^ 7[KE/@_Z#M(4:8A)R1L7,( <HX<SC <TJ=1$ ..Y5\B;[VJ
M5K<Z Z536W@>(4%I)!0L%$7:+18"DD)F4# >XXR1 J/"M2+>I<&FMAC4LM9V
M[PR4=7;.^B!O53R__K5C]?RKD%MZS8& '-IYKC%LS-Y:TF?EX,-6L;N%2.BB
M=1?'&[U&W2W-SY6DNWF/;U[.\YC14M/;WAI),8LB3F*H,HPAR@375BG%4$E<
MY&F4)UGDU"KDVF!3(Y1]!'5K2=)?@%9".]J)5Q&VW+D/A-O0N_8G0>=E%90U
MB,EE@TG83)HKXXV<.W-;\]-L&8M[O"MOZ.]#/_A,'5B&8D)DD4 D.3<)?"DL
M4)+"#"=$JZ[2Q*TP^96QIL8?C9]B/H4 Y7>O@6S'(8&@&YA"O%'S*;5Q"X_
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
M@SHP4]4*P$H#<% !5#K,JCBUJBI(5YLF:LUH$H["^B$9DM<\)1F5[/JA=<R
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
MT_^1,LIID17,*3_;;?BIT<1QX^IR!E:RWAIL%7/C#L?9L".5X3 >F&U:P2M
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
M7SU;_DP%7==&0U/1=TK$[M PX4*_A!J=@WF@P@>L#4"@0>@&U!B!8@%JE&Y
MBQ-H@*HO 18J8+$"%5@!VRM-;?R#-G6:C''CMI*:C-EGINOI*=C/2?BLUG93
MYGZU_%%()=\\_U':BHEUEE6Q>+@5Z^)'=5JZ#>94(HLQ00A*;#OHY81!FN1F
M;2%5GF5:BAQY]8/P5V%JTVZUF5E7-&R5!FRKM=_LVV- W*;)86$>>#ZS!\D5
MRJWZ=O+ZQ5I@(/\5;(T .RL&"<+M#V+(2:&'%J.R=W^47M+L%4_JG5CPN%Q\
M72_%/RK^+FWA1B5G:8)CIG(S&I0KB)%FD.<XASSB2J5*FM]X56X](V=RS%:I
M"4JKYTV]FBBKLJUVD6%\OOHWG@N,<QB[\5@ Y 8FJP:TKS5HM9(WH%8S:#Y
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
M6G_11UH.O7NX9R20>U9Z%O,(-91NI#KJR(Q4MF-O'/9MLC7<&JNJX\M]NV[
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
M:GH&R 0=/\>@FM<:E8%I=6M7T[6]*IU@30.'MMV  ^M 8]X-V(WH@8G;7:F
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
MXPC]HV)?T;+5<WVL9P^YD>UXN \=UU>.@+:1P+HR XTSX,B;XR,K?X+J"P7
M-;#B4!^+QM8@"H#>&56B$%?MJ$]2V/UTVR?;XM96>S%,_F@#TH_KY4(\'19"
M,!$$"9J8H##7$$N"84ZY&>?F0C*I:4ZD5P%1UX:GQJ&-W56)HL9H3UT35]#=
MR'((* >FQ<;D6<F%VV,PS9>EX>#/^O^#K"SYHA943,6U[7%E5CP1.1%@\3V_
MH[2:VFR>[RO\I%;J!UO:72]SG8B,(J(@CS)AF$K&D&L6PS1),.8B2W'BI[%V
MO;VI$52U\;:H#/38].<*KQLG!01M8"JJ+#VC.UN;6^Y>"ZC Y@9,4"FV&TV.
MJ\GFYO^).)OC:=WK['Y68E>4,@)WW]EB:=>MWZZ+SR:JK50&\QA)H:6 ,N$F
MOI3<SKOB% HAM(KR2";4:4^Q1YM3HY:R%.S!YAG86PWUNH ;8W<W84<7_%T#
MQZ"H#AX=]@>T4V%=1XA"U]2]U>SHY70=<3A72=?UU&Z,]%[]N!/"!GB&[<S
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
MB.69IL26(_3;M.;:]-3>W;7EC6Q(-86\+HE35-9WVJ#AT1=N[\YA$![XM=:
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
MMMK.EDR-[2JC@:BMGEE1XMINH)6RT7YMN1_Y=>\J-R8<I0,&ID7K@\T=K+P
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
MV?5A'^X_=S=,/)^T[%%R'1@3G^>^7'_Y].,\S"8C(YQ6002B:<DG*P'$.PS
M+!.0F.8EDN\!$'<>NAL:GD\F]G")-F(>7G^/7_WT"W0I9,M,2&CB2$1[AO0[
ME$(6FD1GA=;@)'#3HXFX_>S=@/%\LJQ'R[>)8.2?,)G\CRG&WY_ +W ;3&\7
MBTO<!YT1.MA2GEMB*>F3(D$&3ZB/(6:>H@Q] .51(G9#S'/+J_8A\2:@\X_9
MY!+U,>].,.>+47+1,IDB2=)H(D$RXA(85'=026&$I6Q_A\+W'KY;H=ISRZ<>
M(^$F(+*NDUE5/)1=%'5RN1@%9H0-&'CES#B1-)94GTK(AT]2&(Z^5G_9]\TT
M[ :8YY95[4'>3>#F[12_S<?E^!N\\DN_9FN4K K A24!C"KU$1BP"UEN+X6<
M*$M:^CY/C#?1L!MNGEMJM0=Y-X&;SDZ^]$OX,IO_&&6A7,S4$K <9>)IB=M,
M)BH*&JC-@LG^<JIW'KT;2IY;,O5PZ38!CD_G?C)Y<;E :2P6(Y2"5Q(<07==
M%D\=]U)(R ,78"R+D')_#NZ=1^\&CN>34SU6NDV X_4YS+_@COFW^>R/Y=>7
ML_,+/_TQ4BHK*A@E'$KK#H-;J'4H(2&5L0(T6->?H[*1A-W \GP2KGU)>V#0
MO(UY?G:9QOB)L^42%BN5O)GX+R-PW#NM2Y6>1R[*8;:3J&].3>(Z4*%@PQ7B
MO3&SG8+=(/-\\K$]R;H),_/I*T;_5WAGZ'J'4H,G!5@B4];$ANA(9&@JC9:,
MZQZWH%M/W@TASR='>Z1LFT#&A\LP&<<WDYE?CBSU5//$B8G9X>X9,%Z30A#D
M N$=P3G57QWUK0?OAHOGDZ(]3K)-P&)U%[Z[6?_I*TIQ\?YR63IRE3.)D1 <
ME(9(:!*TF#].++7(EP9GDLXZI?XR;H]1LAMPGENFMC?9-W+3:W%3$@[IQ8^/
MA1*81O@,WY<O\,._C[QP7G-CB>4IHKR2)%;Y1+1%DKRC-O628-F9H-VNESZ?
MM&X=3;1AJ)"MN9^\G2;X_C\ G7D*T7DTLKQT2)0\>>(I1H Z.LFSPVA0]^$&
M;WSX;K!Y=LG=(R3<B 6ZN3#[!M]9C+)RSE,5B'"EYM>R1)Q+B7B;*.,V4JO[
MJ&+:\OC=8/)\<KE]2+DIH*RNX:^8T#S$1-$66JUQE_4*]UOG)$F11QN$R5SV
MX1-O)6 WL#R?E&X_DAX8+F?(0>JX*-F <ADR*)?+)3;\0S-!\..>)).B9TH&
M'?K(UMUYZ&ZP>#[)W,,EVAL4_O++ UDB7[\?WA-XNL!W4N=J^4EI9OSI*\!R
M<9?P7?L$;_NRGGH'[T3KD?V$'_2%?)_?C*?XL#$:@MFJ2<%U:UIM/6= +<FZ
M%$G+<B-'N430N["!RR08VQ!C]MB ]1'B>FL[NVI"1KT60 ,EQE,@4I0[L0:7
MD&%*<\V%<&%#]-,CJP/V)*Z&B:T-9_>7>0,M0[>W4HT2XS,DMERC%F@J!9!@
MG2+12_!40[:;>A_\VS4J[D/-.[<HWD?F#8!G0YM,HR%H8R6AEDN42T2ORU)-
MM!-<@9&4P__E+8KWTO'3+8KW$7@+D'G8.)<G'JA4&/8KC4O)833GN8R$2OP3
M?7?MX@8O]_^*%L5[*??I%L7[2+K5%L7 9!#:9,*R2$3R4.XJ ",<@L?(3O,4
MJ[AOSZ!%<4]H.4323:#EVN;>1(WHN2FAF"(0 :-&C!A)X"H2KAECY7?&;FBF
MTJ,3<TW*L&BIX;T<)N4&]J"SQ0(CT&OGWSIF<L:].)N PO"9DB!*;;%,D1I*
M<Q(;<K;'8^0N&8VX*P<J==:;A)O!Q[IF^)H)144(*@O"M$?K:J(FMDR]\AR8
MDD8I:C8T3>D+)O>H&18MQZAW(U*.D74#@'GI%U_/IJG\]?K_7(Z_^4DY$CU;
MOO3S^8_Q],L__.021L*!M=Q(HH-",2D3B:?4DZ0R3\PIRG2=X0J[4-<"H(Y"
MP7U_IG>5-("SLV]^/"D;^)O9_!-RM+ZQ.8;%*PC+FY^NKCODR%0R$HC2V:,)
M#X:4"]Z$,\EL\ +W^2K#7_:D<UC7J'_LU513"RB,L?1=7'Q$QP 7%O+Y*RRO
M>%$ATQ2R)N!*F:+/C#@1(A%&>U!214@;FD7U +E'B!JFIWM%?/6E@ ; ]&$.
M%WZ<7G^_@.D"T&*_7WZ%^1V9C;PK<[M0Y\9U<6W7Y#-+ EEQ:=&Y$)NJ1X_'
MU ZT#=,&OAZT^E9'$WF!N^1+JBW^YPCXZ(B,!JVM9N5(V0JK,T0CZUBHO7'3
M^R68BB;I8!$?;H-F2S\YJ5OUZVP:UQR"C(H)IXDSZ#U*+AQ:61O0<42#RZFE
M@5;QY?<GM07GJI](L:Z6FM@+9Q<P7_[X,/%EI$\J@<M%2<K@]CY2X 7SEI/(
M?.EOS1WQ/N+F3K5G43AE^(9>6'UL@MN):L&QZ@5;O4F^ 12]1TY\Z97P#OP"
M/I9Q[^_S;[B9%W&-4LYHE&W&.%>4*BC/2$@L$LT8CUIH;W.5D/!1JEKPHGK!
M47^R;\)Q>NDOQKC)CO\%J5Q#NT20?IKEY1\HUK(PF 0N&#*0(@I))HQ;K=:T
M+)'2.,P;N:F-=!\)K<?(:L&UZ@5,/4J_ ;/TM]DL_3&>3$86G*!.X2JP9:*4
MUH&XJ#Q1Z'LR+2C(5&4CNR)@F)D[%?!QD$0;0,);%/?TRQ@]N94P$,ROO\?)
M9;F%=LT3.&^"@TQB-Q]7I4QL-R[7H3]G4[(\52D*V86X84;S5$!0[YIH %VO
MUH\M%]+.X;/_?LW:*!L+641.DBQM3[UR)&3<A&4.@2:K79)5#GJWDS3,G)X*
M2.I)Z@W@YU;"ZU8DZ3CC(-"ZTM)K3'*IB&<T8V!).6=1"FLWC"3MP6W>1,TP
MTWEJN,M'R[H!P*SH'RD>R@57("YI=.Y]0#GP((B35ANE#5>N2J71ZO$#C=^I
M5A"PES@;2"&^&_LPGG3YI[-IZHKROLXF*/5%224L?UR+AH$0T41/(K/HJT=9
M[K@625DFN&=.*%[%D.Q*8"-E:N]Z*4.JHI4&3,XMONXG\:G@(3(#1)=S&4D=
M)SZ4R2"1>V>##M%M:,'3*[Z:*E6J X'M.#M&'PT@Z^IH^8/_45+M5P<ZPGHK
M2ZHJ<552H$*7D422X *$:'7DEE9!U69RFD'44<K><JA_A.0;P,_K\XO)[ ?
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
M8)B6&!";F2%9 C=6<<-,E6MB3U+69 J^-V@\EM8\6D\M &_M(:]+/S_/[HZ
M+"FLS3?4LTA<NN2(PJ5+9$Z,^%+T%'*.0FGI;*AB% \EN,GL>S68GD*K#<5
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
MIDKNKKHQO/> 'ZL_;Q:,S$Z"@T!R=+A@=*3$X](ERH$1UO,05963R=W(:];
M[8.7+0:N3\TT$+#<*46_STMV*21I%(F4T=)FG9& @B(N:)VDXEZI*JV.'B-J
MV#Q/)6SUIH4&$/5;&0CW>K$<G_LE+$9!,)4T1E24^T@D6$J<,Y0(QQ/*"$,O
MB#4P=)>,85,KE5!SA*0;P,DG^%(.R3_"Q6R^W9PZ(VERUI*4C<?07"IB<PX8
M&!OC=>34^#KC$':A;MBT1B54]:^7!L"&!K9DQ%<IEX_CQ>\OD8;QLKP:*4^U
MT<R2R#GNV!$#'IL,)U$FW+BC-!;J3$G:3M.PK:/J;7*]Z* !.+WQXWG7[>7O
MX$L93UDPV]:)<5PS1Q0/0*15"D/JX CW#BS^PGA>9?O;F<)AIR16@EH=_30
MO,T]89[J&;-B>N2\HYYG2AA-&24:.'$Y>%+2/CK'E"V<L&?4;D0/.\RPEB4\
ME18;0.S?_?QW6):RH4\0+^?=>-XU)UJI$KXD(I+G&"H'0P(50,"[J&/0)MSO
M]MP/'K>3-.QTJTIHZTD##6#I\]RG<D?P_?(KS-?2*CT( 9<(LK=F*@OPV@M?
MAL-)]"5PJ01G _*8K<A.*8R3:L!J)^J&G:90"6']ZZ4!L'V8SRY@OOSQ85)2
MWM-4+/'%C2-QXT(8PR48]!E,";XE=0PE%T1Y9<!F=%Y%%;SM2N!NV5CZS#!7
M13T-P.Y=J36$;OK-XCXKT0BAO0^$JM+Z3UE'G. 6?Y39,1H98U7J1A^A:3=P
M/;=<?U]*: !/W23"J9_\MH"K6_97CF0P3DG?V>-4R@ #L0'-L_>*RI1C4+Q*
M\]RM%.V&I>>6V^]' 0T@Z6^S6?IC/)F@L46>_/3+&/?V;I+7PS42HC:) LF<
ME6E=5.-6SSGZE0;M;P#+7)4M<7<2=\/:<SL1J*2B!L#W]OS"C^==6]/Y347=
MN]GTR[OQ-TB;>=0^"%"XMC1(Y#'AKN\4Y41[;:C)6D*J<W_W &)W ^1S.TRH
MKK8&H+EAC,=5?)V-<D%10X K2V1 AR$8KHC7VEDF%?H259IN;"=I-Y@]MZ.%
MGE30 )B>N)1T?ZD(P[PR*#1CM"@)'([<:4XDS\(:E8()0]PD.\BV/;=#AHJJ
M:@"(GV""O_KR-YC"W$^ZZ^OGX^EXT9W??8-N8N&&Z"@IE[7VBFA71G(*]"B<
M#)Y8G:D*Z''D.H \C-S=@/G<CA=.H+J# ?H-YF'6W^@*0!+*4<DK7(N369?_
M6;.W-O\)DI(:(RO*4(12JU*.QR)1,<J8C$V1[](7]  #^21MNX'ON9TV]*V4
M!DSA*\ GQ]6,(WP]@75Q^]EYJ9#YU\:B/<^3MQ(H,;AVRE"M3)R)CG@C)8M*
M4AWKW#W<G];=</C<SB1J*ZT!7-Z>7OD1)F5*5S>#[4&HGPU'%H"H[-#?L 8Y
M4HF2%%RB0F85[_<I[:O :2?Z=JOH?6[G$S64TP#FKB\JWN<C6"5]I$!L9EU:
M/)* U*--1S; ,0BZRE6,;03MAJKG=C#1B_@;@-%K/Y^B;!8?8-Y-X[W/CLI1
M&"H4 9L<D;*T(A06#;,QU*K,+$U52I6>H&LW4#VW$XH^E=$ MGZ%/VX):CZ;
MXLNXFJ.PN0;00.9<*T]2+E4PI6;>9^!HD4,L@[%RK .V?0G=#7W/[<RBJKJ>
M]V71KMM6Q:NBZ^\_X47131S5OR::!'>E*2))(F.\&:TD5F9-H@]*IAR"JS-B
MJ]XUT:W5+[>62?2.E;8^)C-))'.2.&TYTHA&6WL=C*^2B7N:M&:OA^Z#DYWK
MD0[32!,)MD_Q*Z3+";S/_X3QEZ\8PISAU_LO\.ME:07Y/G?NPFI1W[H!*ST7
MT082=/1$)IU)R*!)B!A?2VF!ARJW1@^BMMGKI,=@L;[>&G#S;IA\Q(,H5?1?
M_?0++-Y.;W]F/(UCW$9OM:#(P640Z%587HYGC!/HY%)%I'<QZ,14<E7BUW[9
M:/:>:S]P/KFFG[?_>--Q^NTTS^;GZV3HP>,?>WCJ"7W-W;FO[X%J:207P(@)
M(A)9!FLY'H%X+[BFH*1)50KBZGF@-XORS7@Z7D)7SW._Z&S5+ECK#-)E042
MT"TSXJ6GA&.@1D%'H+)*?+T[B<UZI/O@9KO9[%5##6S]C_#SXL??_7_-YMTT
ME56S?)ICD.ATQ\!#&>##B3<:?S3><B8,6%HE#-J#QF'15PLF]Z_D5M)9VW"\
M8>Q6'WX(TAH5':'9E@[Z49$@32#"9>^"\@9.#LE-= X+RVIXV1V71RNO 6S>
MGJRX?GFK+*,[D5S/=0C:!^H4$)V-(9)F19P*B7 I5*+E<K&I4JNZ,X7-XO%X
MG-S?N:LHK0$T7MU/6%//&*52!H&A8!EOYH(DGDE-G&9.R:BIHU5B[KMD#)L"
M.B6NCA!_ ^ Y0Q<YC2>7I8;QYB;[:DP#I%49[OG%Y=48]?NGFB]^;/Z";@<!
MZQEUGA&E8BZC<1P)*B4",0*3*5M5IURK(D_#POI$7F4KF&AV>=RR'#**S%+G
M)<FR5T1*'#.:J)RE5"CH8*JXG4\1-G#PW0J"=D+V@>IL )XHL"X)UPW$*Z</
M5^/$C%:BNTZ= 8B,R1'/ ?<D;XQ-WE*CJO@ 6^AI$8R'*OW^"64/&F@ 2&?H
M#J?/^.%NB2E%/=-(+?. /@R&>\2YB(Y,D$('J[*.52ZQWZ%BV%.74VVU!\N]
M ="L;+5?E"+<F[K<L_F\G!AUYT<O?MQ\YH/_4=[K.+YA>YK*V?[M>8HYJ22I
M(]Q0CN9=H^LL!"6QM'Y.06HEJV"O!C,#V[W#L74_=!Y:T0V _::1W*?E+/[^
M&QJ%Q<=/OZW-/<_E>K7D)/GDR_%G)I8I2Y)@W3%L9KG*Q(Q'J1HX!3XX:!Y>
MHNI)@X/6$2WFR]''(L-N6;ML9"QCE:@!1B3(1+R#2*2,*MO@L]SI&@I^Z2W0
MX4_W 7?GJ<.V:*Z\-1\NWP&MU#715RE,SW*99TT0PNC2!GSEJ,C$9<NY9H$K
MN4OJ97=8#&EQCM#8?9T?(+Z!M?YW7 /GE^=KPJD5222K$>:E&M(@ZDL+4Y)H
M8$(9:478Y;QA)[W?>?+ FC]$;[,^A#BT]OWW6X2;A)M7V;2\A7*G)#)B4TI$
M9)I"8I[9G:J3=]/^[2</DQ;M3?L'"[$!O_21/?#=]2Q&([PMX\9P"X3N(EMI
M28L YZ5V.I29 W5FSNQ"W+!M^8<OU#A,2PT@[ZKN>3UU<_IE/>1B,:*>)RB]
M!YPMI0-).V(EI66H?=0<UY:&*G#;2E&SI]P'*O_^;:]>--$0I%9S4E;=M=><
M6"X@< SU,D3<E+.4Q+H<B,"(3SFGI=559CYL)ZG9(^Y^076D+AI U5,S ) ?
MY72PN$HRFG>9'! ?'2L)@.QERCR(*E?9GB)LV!1X=83UJI<&</9A/OLV7J!V
MWLSF7=?VU2R>,K,:%B-T0%,*(%$T3)>J(DE"CKAH0C8^1R8<K9+8?I2J83,Y
MU1'6GT8:@-=V:?VV@'PY>3?.,$(+7*:KB^*:EOMFGA,K(!'F98@*3/"NRMRM
M78@;UM.O#K;>]=/$==6[;@#ZEEW>?!0S0]^2:I(T\^7J&: + )XX)8 Z:AG3
M5=H?;29GV'E;)W;%#M)! _;KJE#RIGUQL<._PO)]_NR_CVAI(QN8*=D;3F1
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
M]ZLT<[ \ (M N @*0T0E2,A.$BHB>D6!9F.J-* ^CNQFP_I]\/6P<?#)--F
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
M#4(RQ7BC"N9#BOOZZ6ZS$PBV+.[;12.= NM^!1+3QIE$0B('EIP$2TYM%,X
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
ML: 7_L C76X_>M_1[[2?YWB@J^P[_6.KZ23P_?ZOR^G%G1#]YJI2&&8H C/
M2ZU5C9Y!C,R#*<EI:0W7IDD5^O8D#MSH\_[HK U]^N@/_IS/%O?;]JV"58-6
M&Q\UN%!E99T#VG<8?8G&*2,"XTT"K<$X&#<.:X3*%QJ%'DG?'<1H-XR__GGS
M[?^9XH*(^O;S/?[ L]757/&U1X:-U7ORY.H7VN<$UR"UM1IU,%[)IBA^EKQ.
MLCJ.BYVG$#R<(GN"Y]WM\#%_UV?2B95$H@+%K@Z/.=0&&Q"D+S;6H="QR9RL
MG:CL!*P#PN0I) ZNLYX ^6[V_?)BN9*8N+ZO-<F9: T878N^6 ZTD"DBR%B"
M5<Q&I=O"[S%-G8!M>"0\A;D#U=(3PE[_O".VU2YQU4[0B%(,%LB*%J3BCA$[
MA NM38@NA4C[1N.M>!-=G4S5Z&4//EAU/2'Q-EVUGGJ\.I]?WMX#2V5MX%E!
M\%:"TDF M[Q66&L25]$\F"9'I-L0UXGU&P(-3R%M*-5T +>/M4R)5'-QP]P&
M+M<VG2QYTCG6+$%%>X45%F(=3.?I"W-.*M9FJ]V!QD[ -QA 'IY>-M)6!T#\
M?7DQ/0\7^*%LP9N/3 B3$]C:O$VE0-*L@Y22];&62Q/K3;;C78CL9&]N!<5F
M^NH B^_GLZ_TM/-Z^%63LE8[!XL<;8@%2E2YEHI(<*QHL))[YR)YT;*)]=M$
M3"<3K$;U^PY64H= 6Z]+ZX1!CW5\ WU1S%-0QH6!;+)-@8(RWJ92?#,YX^ZI
MAZOY!=SL(?,.D+,ZBL>\*LZ]LK$8'0J1(BE7IKK?9XCHR>063C]F*3O9I.3@
M$25]X64?]3Y,7SQ(UAV I5Z=?RAOZ,73:PY\")RV71*%B)$X\(8XT!Q$2%*I
MDH1@37*_'I,RKI_4 "X'2KL#O%S1_C;48;L7/U<65]O(,,@,'@6""IFB":<X
M&"]C[?..SC5);GE,2B=3$T?U?0Y44'<06Z\Z3KMW8,Z D;4:6VD&09I4LVPD
MA:W"&M>D=F03,>/N8H<J^%F\["'M#A#S"7_,SW[0&KK/S-K")E>"9ZK.-T&L
M.8<D'4^Q9E8Z*J:L%+:)]_,L53UA:!^ESUMIH ,X#6'(W]^VWHG1HV8%4JXS
M0F5RM6"T9BBFD+@+VMR.G^\MX>C]3D5([:>^]G&;='18=+ F7J6TP)6^K[J7
MK73_H=3CO-6Q(3'[<8'GT\OS.\-1EY-L>%&(%DRJ*;&K[F9(<9$7*K-D2N*A
M"?CW([>3*X+CX^MA+7)[97< Z1K7W=;1WG8I0PK)O)44X)G:*XWI4B>D9N#%
M"LQ,:6.;M(EZ@IY.+@M&!^40ZOH5FLIM_.&14N^????1T_"WE\0QNLLYA:Y(
M8T&RFC.5>)UGES-D'8TTRA<3FR3AM^PN-YSC):UES# )47,**7A4Y'-1",""
M#HH[CX8WZ=+TBZ3=#X:\=HGVNVBX@]U_<S;0VP7^Z[(V8EF=JQCK?1*\@,$J
M6(H1P%G48+3VEL6"6K1-('V:MD[@>%S4;)7>M[\*>T+E)H:NSVF"5LDS QPE
M.3Q!%O"Y2"!62]+6HE--SK.VH*T35 Z%ART2Z0]13J=X6]XLV_7Q'<$A*EO[
M-!>,M+^@@2"8I^TF."\B"Z8T&16V#7&=(&XH1&Q3NG&(>GJ"W/,5+]';8M!'
M<#K7'$47*50,&9R@U5LLIQ^W=:</KW#K.B@?=/L=2I$]P7.K&AG-K7(\1V!)
M:% YU[5G$FB=W&IR"<__K\)M>)@<5.&VB\YZ N2=4BI^TQW2Q2B#!:L4TO(U
M&;Q*I9I^Q,RX#*RMD7Q,4R=@&QX)6U2X[:.63A%V7:R7B]"!YU5;OU3;2DK:
M(.AC*272@N52NRYK*-OOO:,@;!^U=(HPN6;%.:-*2!E01Q*1*F3SI0F@M$#-
M10D!VYX,/J:IDQSZ41"VCUHZ0-B;L/RVZL^T_%8;DOP(9ZN.3:N,<+:Z?/3
M3:#XJ-3;_^@R!!\H+K/1V= F=>Q)DCK!UZC1PT *ZP!ZGW!YL9BF"\R;>=K\
MT_4RJTN,65I71M:!R!@,Q.(LT*K.FGQ?YUB3LY5#B!XY=VT@X#S*8#N2%CM
M[!_S&?[\(RS^B1=O+V?YF@NTPF<,'H*.%(+)8L$EC:"S3M;32@^I26NLS>2,
MB[+CP6$^N&XZ0-@S'>6+$CE+Y\'+2.Y$=@%B-%C[-.; '-/,-6FZ?N 4@&8!
MQ6A(&TA'':#MJ0%&G$5M=)(@*$RJ;6P07$8&7"#+PC+,C<Z0#YA-=@+E*0<=
M&@^@J@X0-^CH#JEJ3K+*M'2S7TW6N"K?4$)+\F24"Z))PN&O/\%L)U2UG&"V
MBXH[@/?S<[ ,BEBTR)!L+N1FTQ>7ZS!A9ERN_\_;S/'YWS+!;">P[#3!;!?-
M=0##)V9BV:+)+W$"DE,D'TP1HB>'.#NC50P::5MJ4E3PJ\\O.P1X ^BJ \0]
MXQ-G:VC5V'H,JLDG#JG.V5 &D*<4L])2A29E\?\KII<=@KR!=-;%N(EARRV$
MB1Z9CB!K>I!2Y/[$0+&<5LY1V%BL34U"[?]7>M@JU>;HL.C )F\^ -F0$3^1
M026-"8$7ID!)%<'75BP%LZ7?D+A]$[QO36$GR1''1]%6ES^'JK0#K#X__NC.
MF)@Z(<Y+CT ..?%EK:*=B3ZB%.2?FUAB:7+6OBV!G219C([4)@KM :@KP6Y:
M<:AE4LE(8"F2M!@GCSTB?9=#%C)RDV63Z/Y)BD[_MGP@* ZBLOVQ-[\(9^U*
M8#\NYM]Q<?$S7$V4^5ZC@QE>W"=[NXK6IQXU2('J5G0.5&]Z_:Z/9V%V/6IG
M]<*;TC^EZD5/#9F8]74":027;(0L7!0:)>>^22W0BY0-,'=O\PMN8?^%I/R:
M_LT_)RZAP>0EI%!GKG'4$+@KH(PW.2@DL3393'<A<ES7;U@D;9B<UT99O=;K
M/V$$5H'>7D7XSS^PI>':1//1S)=/,@BG+93B(B&O6/"A,))-*M9G)I2.OY;Y
MNET'WEM':TX!8[7Q8R0O("16@%EF?(F1A]QJ)N@+I/5NJG9!S=:F:C_%G)B!
M.J!-R M/;&FB6K;TV )M6N; ;09OZ@V&2 D"RX(".RQ99>>%.ZYS,92-NIVL
M^_2B6)U<,ID$K;<$TB1&KH'7M:4VAZ ,<E:D-J9)CNJV!'9OKW9 T*,&TRV4
MU,'YPY/<O/YYT\J=NQ!+B1E*J+-*.!?@3-!@;+ 89"@B'3>XN:5M7,BU <6V
M.^6>&NH9='?:>V>NA944_01'7Y0DX;G"'93(/>H04XE-D@NVH*U3.[<O'K;V
MS/93SHAXJY[-Y+=P$=X0^;BH-QWS\^^7].T-4]<7U!%7@3>X4,_KM*2UB9@
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
M?-UGI-[!3IP1-H22(-6L9"6THA52@V3NO<X!A9!-"@\>D]+C5C@,B@X4>P?
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
ME A:T!^T240>@/K.]O9A@'M\O9Z$*_ ;?I\OIQ?+_X-G^;^F%]^^?)LN\L=
M_^P5:>'L+%RL1LC-%Y]Q\6.:<#DI(;&4=004HH[)=;2R"\DAD5B*D3JRL%TK
MQ#;TC=M#>33WH*T>>[#+]R3[\_?EQ?2<F/I0/M(OIN3]US^8*&EU$5D QA)!
MB40A7_6#;,%24F'$\A'NV9^@;MQ.RZWLZN!ZZ0]LKU):T')[=9-U_I_A[!(G
MCA:.XDF!2)&!*E)#*,[4<)/Q5)Q(;8YUMJ)NW+[(QP'; 'KI &P?P\]5,@P9
MY_?X-9Q]QHN+,US]:"*9PR(M0I:K$JL@(3#T(%!X%SW]6LL6$'N&IG%;!S<"
MUE ZZ#4U\O/%//VS=DFDU_S^K\OJY.^1]KCA*8.D-+Y$W4#IBE>/OLDLB^BD
M0EE/"YD%97(@!Z@4L,YKE@J&U*9OT'TR#KYQ>"2[/^<7N"G%-W"R@D5G,-$K
M4-)'<-%F\))"EVRL":E-UX9M*1SW9.\ =#RZCFBBD].Q+:_.5\LUS')MPEYK
MGMY0 #,M4P(SSLN[69HOOL\7AV9A#_/B1A;L8!FT,7H>2V2EGL$Q0[Z1Y C!
M>P%"1$PBV1!"DZZ( QN]] WSY1E%&2O!O_[YYBPLUY= 4AG.-1(1(@0*->KP
M8N\2?1'%9A-I[VZ2T?@,35T9MET0\,BP#23W#KSNSW5-KL[\5N)Y,S__/I^M
M<M)K,H.,SI )IE 5#0=%'AXXZS((+S&13?;:L39[Y3-4C7QS/Y3N'VV60RFB
M U0]X&&=VB"8+C)+ 3$RBDP\<_1=,9!T8-J6E%-N$L5MI&9D% VG[?G0HN\
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
M2!&CV>X0Y:!E=+4)[@.P(TNB V?KTP+#\FKQ?7.W3\1(6LG$%G(0M?!0R&T
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
M\ONO,[()5RNIO+_\@HM/7\)LG;+Y?3[[MLJC;M;VYX2&23(^0FH/2@D-L80
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
M%%>M(+4ZXUZ=6DZ(+5$9RR%P3ZZM(;OO/(77KG"= ]I"D=(!,+I[4S<)C"-
M9T_^CF^&7F;74^D9\G_1NYPA)UY U59G1"\#BZAT<)B$:S+>9.L5=I/K.,X6
M>:B,>L?@.J6CG4C*<+"U,D Y3;%XE!3C*XG**E-4:5+H^,*:NLF(' =GN\NA
M/V3=!OT;=$UJ;;G*CM<K_T22BK7%K0W I62Q%"-":7JJ_]2BQFU-<01L'2R)
M@\'5(OGVZ.[7[W@Y83YJGAG%):&00R"U!">E <E<,"$R%=)Q\KCWU]5ON\!!
MKR8=((PN(;:I+YY\25='DGE4#E2I*?"L+?"86%51P^P17;%^N_$-G\_=B?5#
MXZCA!=Y5LS5R)Q\W5QOHSN[K+QC\FNZ.-!WA9FYR)69O!"1I,B@F'+GGRH")
M/NB8A<?8Y*9J@YNYJYAXS>)?GV#QQ_G%Q2_7EZ(F7A8LJ^-\60<*V#J(/A4&
M(G(KF9;([7:9A^W>U^_=VUWD?R_YT(#1?1TR/=O:D5EEK>,4=U@I0 F[ND<7
M(<52?49B86PSHO+UM8V#LV9X>,VA.E X>^/M3UQ,Y[54<'$Y".J>V@[NDWK3
M>G0]ZR<I+$$7#TFIJK5!@(NU*,PG5N< (1=-ZBEV7>@X1T3'PF-3L9V(,93"
MJQC(GR7=6IUT18C."\CH9*W:5@J/<[=L3V,X>%39DS'<13@'&L-WLWR4L.!?
MLP6F^>=9/1FC#VZN_@X3$KSR\*'#@5UH.4(H8&1,0FD/W-L(*F"]M%@X^&A$
MLJQXTV:.2L,BO0>=D,LS''_WUWKFV;6=7GZX;EI/'WR:7T\H6WW](UY>+6;+
M30W6/'"!68,V]4"VCH=TD=.O@A7F%3+>9C1M:\+Z#5AV0>E#F]D5'#K8X)^A
M?Z)8=/7^"KG.2E8R,CC,"7Q-JC/G-*HF#2&>6<^X8.P+-//A)=A-&/0,,3>S
MHVLEV]5%+;2LD]#7C=8^K-9 W_XP7TZO6S<K[;+"0%X5&D^N3RD044O0R2DI
M<F91-]G'AEG^N+?J3A'L+?'1L9%F*)A1I-,Z$BVJ1I0N%P%,6?(3E9;,-3DK
M/L1(-SO#.T7<[B3!GL.SC_@-9U<89GEU,>/769DOOJZ>ND\\]L+3!@G MEWM
M0!'7'_BY7H3ZB'_.%]4VW3FR+)C:[)@V9DD1>F$,(HL,LBM%,B]M*4TR)\\M
MZ% []?"Y=[[[)V+E3_35_YIX;0B820/&>B]:"=(BM +()2&5$B87U\2QW&)M
MXSJ9@Z#DH=T96B*]3M9^7J,_A7B!>V6%7GUF8UOTU,I;6R0GO/2.2Y!2&% F
M&/"&6S",A\!5TK[-_-%F%BE]P7QU@>_+A\6\3BA\R-\[-3!%:90Z *[2I1(1
MG)61.*%#$<7RD)M<7]E^B9W:IUTP\\@^M9'/Z9FI [+7KS^TL:%JF:U^%G4$
M+.D,*K R4PAGZ_P(+P,DQE347(349M;,:)9J(D+. NMM,1MK'X$L@12/?LTA
M:E60:=>DU=*K*^O4+NV"D)WMTD[2&#&%L%Q<3M8DO%_\@8MOTX1O_IHN)R7P
M++0-9#\5>7VN>GV,9XB")Y.=9BEODR*CYV\@B7Y[B*+G%C R:(:5[WQ 9O<!
MECJZ>4W!\N?YUS"=35Q"34I#^SRKG7!*;:#$ZSTQ)[-UVD2-VUQZV@4QCU<Q
M#FR&$>QCE!S(Y;';5+V=+_"/^<75*JGZ&WZ-N)A8S7S,O-XU(&8HJ3($)/FJ
M&%!ZCBD6]YI'\]S#1Q?^H?*:#\B\L85?+YO@AXNKY0U#UC0@1A=5", *VMK_
M1D!@7H$K)BD;?.WDL!4 GGG!.*<CC4 P!!/'!L(J''BP?I&+=]HYX-G$6J6N
MP#.3P808'0;+7-@.!$\\?)QCAD8 .)1Y'9Q./?:@*+#$7R_QZW*BG+(\!]H0
MF2>#YGRM/!=U?@&Z)#Q%[:;)'*@7UC3NZ6H;QW-H472 JG6Z876..Y^M(KI_
M3R^_O+U:7LZ_XN+N&&^Y1/JOGJI-T&HT'CD(I7AM\2DA&B/JC 2.@=7I]DW.
M4_98Z[CASV X>72[JJW0^LWK74X7JVX'M:G5GEF\^X\8*&?WPKH&RM ]Z,1[
M]\JG2A_)I,E2CYI\G7TH%7DT]!DPIFJH)&)NT[)^AS4>O!O2>Z[?LMK:/\SI
ML;>ON[W?^\0QG Q&H-(&=)TYOQI'ZKVI?>-=Y(;S'-M<YMAWP2//,VZ$ND<[
MZC'$>2)F[: SBB>?U,+(M3R-V 5UE@E5F)%@8O0$@+JE61& 8C>*ZS-+UC>I
M$3RBK?N9T#^K[<EHJY_&52:CBN =(6+^'1?UA559YK.P^+[YI74M5!8%B\D>
M6#()5,( 47@/13M?.^1QT89#ARW[=.S>+@A\HK;H6*)M;_W6?U'_B&&)__-_
M_']02P$"% ,4    "  %@6%24>K=Q)X]  !YM@$ %@              @ $
M    83$R,S$R,&5X:&EB:70Q,#$T+FAT;5!+ 0(4 Q0    (  6!85+C2K-Y
M2@,  /H4   5              "  =(]  !A,3(S,3(P97AH:6)I=#(Q,2YH
M=&U02P$"% ,4    "  %@6%2L5O QA<#  ##"   %0              @ %/
M00  83$R,S$R,&5X:&EB:70R,S$N:'1M4$L! A0#%     @ !8%A4@M!.RNN
M"   FD,  !4              ( !F40  &$Q,C,Q,C!E>&AI8FET,S$Q+FAT
M;5!+ 0(4 Q0    (  6!85+!FU*LH0@  +L]   5              "  7I-
M  !A,3(S,3(P97AH:6)I=#,Q,BYH=&U02P$"% ,4    "  %@6%2&$$'!H %
M   V+   %0              @ %.5@  83$R,S$R,&5X:&EB:70S,C$N:'1M
M4$L! A0#%     @ !8%A4J6[Y$F/C0, VJ,G !$              ( ! 5P
M &%P<&8M,C R,#$R,S$N:'1M4$L! A0#%     @ !8%A4B1PS3W9%   W.<
M !$              ( !O^D# &%P<&8M,C R,#$R,S$N>'-D4$L! A0#%
M  @ !8%A4I\=84I:+P  J0," !4              ( !Q_X# &%P<&8M,C R
M,#$R,S%?8V%L+GAM;%!+ 0(4 Q0    (  6!85([-@DS-90  *V.!@ 5
M          "  50N! !A<'!F+3(P,C Q,C,Q7V1E9BYX;6Q02P$"% ,4
M"  %@6%2X2N]_54U 0#/O@$ %               @ &\P@0 87!P9BTR,#(P
M,3(S,5]G,2YJ<&=02P$"% ,4    "  %@6%2-B])P](_ 0"T2 T %0
M        @ %#^ 4 87!P9BTR,#(P,3(S,5]L86(N>&UL4$L! A0#%     @
M!8%A4E5Q!.*9RP  3XH) !4              ( !2#@' &%P<&8M,C R,#$R
@,S%?<')E+GAM;%!+!08     #0 - %\#   4! @    !

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
